Spring-form具有相同模型属性名称属性的多个表单

时间:2011-12-18 16:04:21

标签: spring spring-mvc

您好我正在尝试使用spring-form.tld + spring MVC,但我无法弄清楚如何解决这个问题。假设我有两个类:

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>
...

和服务于我的请求的控制器:

...
@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;
}
...

问题是,如果我发布 person 表单,则将属性名称插入到person对象中,但也会插入到city中。这个例子是无稽之谈,但它说明了我的问题。我想以某种方式“绑定”人形与人物对象。

感谢您的任何建议!

0 个答案:

没有答案