springmvc请求接收参数的几种方法
2015-07-26 16:56
567 查看
注:在类上使用注解@RequestMapping(value="/User")
一、通过@PathVariabl注解获取路径中传递参数
如请求的URL为“控制器URL/User/123/lixiaoxi”,则自动将URL中模板变量{id}和{str}绑定到通过@PathVariable注解的同名参数上,即入参后id=123、str=lixiaoxi。
二、用@ModelAttribute注解获取POST请求的FORM表单数据
JSP
Java Pojo
Java Controller
三、直接用HttpServletRequest获取
Java
四、用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
JAVA
一、通过@PathVariabl注解获取路径中传递参数
/** * 通过@PathVariable注解获取路径中传递参数 * @param id * @param str */ @RequestMapping(value="/{id}/{str}") public ModelAndView test(@PathVariable String id,@PathVariable String str){ System.out.println(id); System.out.println(str); return new ModelAndView("user/helloWorld"); }
如请求的URL为“控制器URL/User/123/lixiaoxi”,则自动将URL中模板变量{id}和{str}绑定到通过@PathVariable注解的同名参数上,即入参后id=123、str=lixiaoxi。
二、用@ModelAttribute注解获取POST请求的FORM表单数据
JSP
<form method="post" action="<%=request.getContextPath()%>/User/doSubmit"> a: <input id="a" type="text" name="a"/> b: <input id="b" type="text" name="b"/> <input type="submit" value="提交" /> </form>
Java Pojo
package demo.model; public class Pojo { private String a; private int b; public String getA(){ return this.a; } public void setA(String a){ this.a=a; } public int getB(){ return this.b; } public void setB(int b){ this.b=b; } }
Java Controller
/** * 用@ModelAttribute注解获取POST请求的FORM表单数据 * @param pojo * @return */ @RequestMapping(value="/doSubmit",method=RequestMethod.POST) public String doSubmit(@ModelAttribute("pojo") Pojo pojo){ System.out.println(pojo.getA()); System.out.println(pojo.getB()); return "user/helloWorld"; }
三、直接用HttpServletRequest获取
Java
/** * 直接用HttpServletRequest获取 * @param request * @param response * @return */
@RequestMapping(value="/get",method= RequestMethod.GET) public String get(HttpServletRequest request, HttpServletResponse response) { System.out.println(request.getParameter("a")); return "user/helloWorld " ; }
四、用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
JAVA
/** * 用注解@RequestParam绑定请求参数a到变量a * @param a * @return */ @RequestMapping(value= "/requestParam" , method= RequestMethod.GET) public String setupForm(@RequestParam("a") String a) { System.out.println(a); return "user/helloWorld " ; }
相关文章推荐
- Kafka和Spring集成实践
- Java 显示调用和隐式调用
- mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache
- Java中堆和栈的区别
- cmd运行Java的步骤以及出现找不到或无法加载主类的时的解决办法
- Spring与classpath*加载配置文件
- JAVA垃圾收集机制与内存分配
- Eclipse 常用快捷键
- java String的equals,intern方法(转载)
- eclipse中的输入提示怎么设置
- java.lang.IllegalArgumentException的解决
- java基础-反射之Class.forName
- java实现CSV 字段分割
- Java 理论与实践: 正确使用 Volatile 变量
- JAVA调用接口
- JAVA.AWT.CANVAS使用
- 解决问题:Ubuntu 14.04下Eclipse CDT菜单栏失效
- Java程序员从笨鸟到菜鸟之(七十四)细谈Spring(六)spring之AOP基本概念和配置详解
- 复杂计算器的实现,没有界面
- 类A是公共的,应在名为A.java的文件中声明错误