您的位置:首页 > 编程语言 > Java开发

Spring MVC 的请求参数获取的几种方法

2014-11-05 11:37 591 查看
通过@PathVariabl注解获取路径中传递参数
JAVA

1 @RequestMapping(value = "/{id}/{str}")

2 public ModelAndView helloWorld(@PathVariable String id,

3 @PathVariable String str) {

4 System.out.println(id);

5 System.out.println(str);

6 return new ModelAndView("/helloWorld");

7 }

用@ModelAttribute注解获取POST请求的FORM表单数据

JSP

1 <form method="post" action="hao.do">

2 a: <input id="a" type="text" name="a"/>

3 b: <input id="b" type="text" name="b"/>

4 <input type="submit" value="Submit" />

5 </form>

JAVA pojo

1 public class Pojo{

2 private String a;

3 private int b;

4

5

JAVA controller

1 @RequestMapping(method = RequestMethod.POST)

2 public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {

3

4 return "helloWorld";

5 }

直接用HttpServletRequest获取

JAVA

1 @RequestMapping(method = RequestMethod.GET)

2 public String get(HttpServletRequest request, HttpServletResponse response) {

4 System.out.println(request.getParameter("a"));

5 return "helloWorld";

6 }

用注解@RequestParam绑定请求参数a到变量a

当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,

例如: @RequestParam(value="a", required=false)

JAVA

1 @RequestMapping(value = "/requestParam", method = RequestMethod.GET)

2 public String setupForm(@RequestParam("a") String a, ModelMap model) {

3 System.out.println(a);

4 return "helloWorld";}

用JSR-303校验获取参数也可以!

用@Valid获取参数也可以

@Valid User User//实体设置+类+类的引用 直接将页面传过来的user对象中的信息封装到里面去了

@RequestMapping(value="register",method=RequestMethod.POST)
public ModelAndView userRegister(@Valid User user,HttpServletRequest request,HttpServletResponse response){
HttpSession session = request.getSession();
user.setUsername(user.getUsername());
user.setPassword(user.getPassword());
user.setClassroom(user.getClassroom());
user.setPhone(user.getPhone());
user.setAddress(user.getAddress());
session.setAttribute("model", user);
userService.AddUser(user);
return new ModelAndView("index");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: