gpt4 book ai didi

java - Spring MVC Bean 转换

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:04 26 4
gpt4 key购买 nike

我有一个 POJO,我正在 JSP 表单中成功使用它。我可以显示表单,并可以将结果发回。这是 modelAttribute bean

public class FooAdminWebDTO implements Serializable {

private static final long serialVersionUID = -5296961362891142744L;

private List<FooDTO> FooDTOList;
private String success = "success"; //..etc

这是我的 JSP 页面的异常(exception):

    <form:form method="post" class="form-horizontal" id="viewForm"
action="${pageContext.request.contextPath}/FooAdmin/saveFoo" modelAttribute="FooAdminWebDTO">

<div class="form-group">
<form:label class="col-sm-2" path="FooDTO" for="FooDTO" required="true">XYZ:</form:label>
<form:input class="col-sm-5" path="FooDTO" id="FooDTO" type="number" value="${FooAdminWebDTO.FooDTO.FooXYZ}" required="true"/>
</div>

<div class="form-group">
<form:label class="col-sm-2" path="success" for="success" required="true">Success:</form:label>
<form:input class="col-sm-5" path="success" id="success" type="text" value="SUCCESS" required="true"/>
</div>

问题出在我的 POST 区域。我成功地找到了正确的 Controller 方法:

    @RequestMapping(value = "/FooAdmin/saveFoo", method = RequestMethod.POST)
public ModelAndView saveFooByID(@ModelAttribute("FooAdminWebDTO") FooAdminWebDTO s, BindingResult bindingResult) {
return new ModelAndView();
}

但是,正如预期的那样,我只看到成功字段的内容被 Spring 填充。 success 字段是一个简单的字符串。 (所有其他复杂字段均为空)。

这是对象:FooDTO:

@JavascriptMappable
public class FooDTO implements Serializable {

private static final long serialVersionUID = -5974170234812308892L;
private String FooDescription;
private int additionQuantity;

等等..

请问有人可以指导我如何执行此操作吗?我使用 XML 进行配置,因此任何涉及配置的答案,请记住这一点。我有相当深的嵌套对象,需要一种方法将我的对象绑定(bind)到传入的 POST 对象。

谢谢。

最佳答案

form:input 中路径的值应该映射到您想要在对象中填充的属性。

例如对于 ProductAdminWebDTO.ProductDTO.productPartNumber 的输入标记,路径应类似于 path="productDTO.productPartNumber"

您可以在 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/view.html#view-jsp-formtaglib-formtag 找到更多信息或 form binding 的简单解释。在您的情况下,您需要访问嵌套对象,就像显示时一样,使用 .

完成

关于java - Spring MVC Bean 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com