Spring窗体具有相同模型名称属性的多个窗体

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

您好,我正在尝试使用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 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;
}
...