将两个不同的对象自动装配到一个spring bean

时间:2015-05-11 06:01:06

标签: java spring spring-mvc

我是Spring MVC的新手,并试图以现有形式添加字段来验证它们。验证完成后,我需要将表单中输入的数据映射到不同的对象。 spring bean的配置如下所示。

<bean id="SampleController"
    class="com.abcd.controller.SampleController"
    parent="AbstractxyzMlsController">
    <property name="formView"            value="abc/my_view" />
    <property name="highLightedTab"      value="DataRequirement" />
    <property name="commandName"         value="dataRequirement" />
    <property name="commandClass"        value="com.abcd.dataRequirementResponse" />
    <property name="validator"                            ref="DataAcceptanceValidator" />
</bean>

从上面的spring bean配置的形式,我需要修改它接受更多的字段并将它们放在不同的对象下。我不能使用与上面提到的命令类相同的对象。我还需要验证我在表单中添加的字段。我看到当前的验证器单独接受对象DataRequirement。

我是否需要提出不同的验证器?另外我如何添加第二个对象,我将把字段放在哪里?

对不起,如果这个问题很愚蠢。只是试图理解和实施。

2 个答案:

答案 0 :(得分:1)

不可能有相同形式的多个对象。

  

但是有方法,你可以使用这样的多个对象:

后端

public class FormObject() {
    Class1 class1Object;
    Class2 class2Object;
    //Getter and setter
}

前端

<form:form
  action="../someAction"
  method="post" commandName="formObject">

  ...
  <form:input type="text" path="class1Object.property"/>
  ...
  <form:input type="text" path="class2Object.property"/>
  ...
</form:form>

答案 1 :(得分:0)

有一个名为jsr303和hibernate验证器的概念。在Binding结果的帮助下,我们可以获得所有错误消息。 请参阅以下链接。

http://www.codejava.net/frameworks/spring/spring-mvc-form-validation-example-with-bean-validation-api