0

request.getParamenter(xxxx)我们可以通过使用 commandName 或使用隐藏字段在控制器的 jsp 页面中获取提交表单的值。

有没有其他方法可以从控制器中的 jsp 形式获取值?

4

3 回答 3

2

Spring 提供了几种将请求中的参数数据绑定到 Java 中的实际对象的方法。大多数数据绑定是使用带注释的方法或通过在方法中注释参数来指定的。

让我们考虑以下形式:

<form>
  <input name="firstName"/>
  <input name="lastName"/>
  <input name="age"/>
</form>

在 Spring 控制器中,可以通过多种方式获取请求参数。

@RequestParam 文档

@RequestMapping("/someurl)
public String processForm(@RequestParam("firstName") String  firstName, 
   @RequestParam("lastName") String  lastName, 
       @RequestParam("age") String  int,) {
 .....
}

如果我们的请求参数在一个类中建模,Person.java我们可以使用另一种技术,@ModelAttribute.

人.java

public class Person(){
   String firstName;
   String lastName;
   int age;

   //Constructors and Accessors implied.
}

@ModelAttribute 文档

@RequestMapping(value="/someUrl")
public String processSubmit(@ModelAttribute Person person) {
   //person parameter will be bound to request parameters using field/param name matching.
}

这是 Spring 用于提供数据绑定的两种最常用的方法。阅读Spring MVC 文档中的其他内容。

于 2012-11-08T10:12:01.687 回答
0
public String myMethod(@RequestParam("myParamOne") String myParamOne) {
 //do stuff 
}
于 2012-11-08T10:04:05.987 回答
0

您可以通过注解直接将字段映射到控制器方法,@RequestParam也可以使用@ModelAttribute.

public ModelAndView method(@RequestParam(required = true, value = "id") Long id) {
}

public ModelAndView method(@ModelAttribute("pojo") POJO pojo, BindingResult results) {
}
于 2012-11-08T10:05:22.047 回答