Spring窗体具有相同模型名称属性的多个窗体
您好,我正在尝试使用spring-form.tld+springmvc,但我不知道如何解决这个问题。假设我有两门课:Spring窗体具有相同模型名称属性的多个窗体,spring,spring-mvc,Spring,Spring Mvc,您好,我正在尝试使用spring-form.tld+springmvc,但我不知道如何解决这个问题。假设我有两门课: public class Person { private String name; public String getname() {...} public void setname(String name) {...} } public class City { private String name; public String ge
public class Person {
private String name;
public String getname() {...}
public void setname(String name) {...}
}
public class City {
private String name;
public String getname() {...}
public void setname(String name) {...}
}
两者中都有同名的财产——“名称”。
现在我得到了一个包含两个表单的jsp:
...
<form:form name="person" modelAttribute="person">
<form:label path="name">Person</form:label>
<form:input path="name" />
<input type="submit" value="send"/>
</form:form>
<form:form name="city" modelAttribute="city" method="post">
<form:label path="name">City</form:label>
<form:input path="name" />
<input type="submit" value="send"/>
</form:form>
...
问题是,如果我发布person表单,属性名称将插入person对象,但也会插入city。这个例子毫无意义,但它说明了我的问题。我想用person对象“绑定”person窗体
谢谢你的建议 为什么要使用单个控制器方法来处理两种不同的表单?你不应该有一个handleUser和一个handleCity方法吗?谢谢你,多种方法都有效!我在学习java,所以我犯了这样的错误:)对于其他有类似问题的人,但需要两个持久形式,确保没有一个变量具有相同的名称修复了我的问题。尽管我确信,使用单一表单可能有更好的解决方案。
...
@RequestMapping(method = { RequestMethod.POST })
public ModelAndView handle(@ModelAttribute City city,
@ModelAttribute Person person) {
ModelAndView mav = new ModelAndView("test.jsp");
mav.addObject("city", city);
mav.addObject("person", person);
return mav;
}
...