且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)

更新时间:2022-08-21 18:19:04


  1. 通过@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
         }
  2. 用@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
         springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
    5 

    JAVA controller
    1 @RequestMapping(method = RequestMethod.POST)
    2
         public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { 
    3
             
    4
             return "helloWorld";
    5
         }
  3. 直接用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
         }

  4. 用注解@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";}