使用Spring MVC 3在POST中查看模型的视图

时间:2013-06-24 14:00:39

标签: spring-mvc

我正在尝试在我的控制器中进行依赖注入,而不是使用setter方法,但它没有用。当使用控制器执行数据表单的发布时,目的是将表单输入与我的域模型的属性绑定。

我想要的是:使用springframework 3.1在控制器类中将域模型与我的表单绑定。

我的域名类:

public class Person {

  private String name;

  @Autowired
  public Person(String name) {
    this.name = name;
  }

  public String getName() {
    return this.name;
  }

}

我的jsp(person-get):

<form action="test-person" method="post">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
      <td> <b> NAME: </b> </td>
      <td> <input type="text" id="name" name="name"> </td>
  </tr>
</table> 
</form>

我的控制器:

@Controller
public class PersonController {

@RequestMapping(value = "test-person", method = RequestMethod.GET)
public String loadViewGet() {       
  return "person-get";
}

@RequestMapping(value = "test-person", method = RequestMethod.POST)
public String doPost(Person person, Model model) {

    model.addAttribute("person", person);

    return "person-post";
    }

}

最后一个jsp显示用户输入的人名(person-post):

<table cellpadding="0" cellspacing="0" align="center">
<tr>
    <td> <b> NAME: </b> </td>
    <td> ${person.name} </td>
</tr>
</table> 

有一种方法可以将表单输入与我的模型类(Person)绑定,而无需使用setter方法吗?

任何人都知道另一个可以做到这一点的java的web框架吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

应用程序上下文的bean工厂(在应用程序上下文XML或@Autowired bean中定义的bean)创建的bean支持

@Configuration注释和依赖注入。

MVC的域模型对象是在处理程序参数解析器(而不是应用程序上下文)的请求数据绑定过程中创建的。不支持自动装配和其他DI功能。您必须是域模型对象的用户属性访问者(getter和setter)。