Spring Mvc那点事---(5)Spring Mvc请求参数传递
来源:互联网 发布:易用进销存软件 编辑:程序博客网 时间:2024/06/09 16:23
web中都有对接受页面请求参数和把后台信息显示的前台页面,也就是向前台页面传递参数,这一节我们看看Spring MVC中怎样通过页面来传递参数,传递参数有哪些控制以及属性设置等。可以通过RequestParam,RequestMapping,URL模板对进行灵活设置
1.常规参数属性设置
常规参数接受我们只需要在Action中定义接受的参数变量名称,就可以获取URL中参数传递的值,也可以使用HttpServletRequest,从中获取参数值
@RequestMapping(value="Detail")public String Detail(int id){// id必须传值,而且必须是数字,负责会报异常 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail?id=2System.out.print(id);return "Detail";}@RequestMapping(value="Detail3")public String Detail3(HttpServletRequest request){// 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail3?id=2System.out.print(request.getParameter("id"));return "Detail3";}如果想把后台的数据显示到前台页面,我们可以使用Model ,和Map集合,就可以把后台值显示到前台页面
@RequestMapping(value="Detail2")public String Detail2(int id,Model model){// 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail2?id=2System.out.print(id);model.addAttribute("code", "001"); //在后台通过Model属性赋值model.addAttribute("name", "可口可乐");return "Detail2";}@RequestMapping(value="Detail4")public String Detail4(int id,Map<String,String> map){// 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail4?id=2map.put("code", "123");map.put("name", "可口可乐");return "Detail4";}前台页面获取
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>编码 ${code} 编码 ${name}</body></html>以上代码中的接受参数为id,必须保证url中传值的参数名称为id,类型为整型,否则会报异常。如果想省略,怎么办,我们使用RequestParam进行控制
2.@RequestParam
使用RequestParam我们可以对url参数进行别名控制,属性设置,默认值设置等,还是上面的例子,代码我们改成如下
@RequestMapping(value="Detail")public String Detail(@RequestParam("skuid") int id){// 这样页面中的参数可以改为 skuid, 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail?skuid=2System.out.print(id);return "Detail";}@RequestMapping(value="Detail2")public String Detail2(@RequestParam(value ="skuid",required =false,defaultValue="1") int id,Model model){ //可以设置是URL中是否必须带参数,默认值,别名等// 页面URL格式如下,从URL中获取id, http://localhost:8092/springmvcfirst/Product/Detail2?skuid=2System.out.print(id);model.addAttribute("code", "001"); //在后台通过Model属性赋值model.addAttribute("name", "可口可乐");return "Detail2";}
3.@RequestMapping
@RequestMapping也可以直接设置参数,包括参数名称,值,请求方式等
@RequestMapping(value="ProductIndex",params={"id=1","code","!name"},method={RequestMethod.GET})public String ProductIndex(){//页面url http://localhost:8092/springmvcfirst/Product/ProductIndex?id=1&code=001return "ProductIndex";}
上面的action通过RequestMapping指定了请求方式必须为get,,, 参数id必须存在而且值为1,参数code必须存在,参数name必须不存在
RequestMapping的重载方法很多,可以去查资料,比如我们可以通过headers属性来控制请求头信息等
4.@PathVariable
通过@PathVariable我们可以动态设置URL请求模板的参数格式,对URL的格式做一些限制等。比如我们可以通过正则和通配符最URL做更深一步的控制。
@Controller@RequestMapping("/Product/{variable1}")public class ProductController {@RequestMapping(value="ViewDetailOne/{variable2}")public String ViewDetailOne(@PathVariable String variable1, @PathVariable ( "variable2" ) int variable2){//url格式 http://localhost:8092/springmvcfirst/Product/aa/ViewDetailOne/3System.out.print(variable1);System.out.print(variable2);return "ViewDetailOne";} }
- Spring Mvc那点事---(5)Spring Mvc请求参数传递
- Spring MVC 传递参数
- Spring MVC 参数传递
- spring MVC 参数传递
- spring MVC参数传递
- Spring mvc 参数传递
- spring mvc 请求参数
- Spring Mvc那点事---(3)Spring Mvc项目创建
- Spring Mvc那点事---(4)Spring Mvc控制器Controller
- Spring Mvc那点事---(7)Spring Mvc @Autowired注解
- Spring Mvc那点事---(8)Spring Mvc @Resource注解
- Spring Mvc那点事---(9)Spring Mvc @Component注解
- Spring Mvc那点事---(18)Spring Mvc过滤器Filter
- Spring Mvc那点事---(21)Spring Mvc拦截器
- Spring Mvc那点事---(23)Spring Mvc监听器
- Spring Mvc那点事---(38)MVC执行流程
- Spring MVC 传递参数二
- Spring Mvc那点事---(31)Spring事务管理
- QT-怎么添加程序图标
- [leetcode]344. Reverse String
- push代码到github时,每次都要输入用户名和密码的问题
- spring从头开始(三)----bean织入进阶
- 百度之星2016 资格赛 java 代码实现
- Spring Mvc那点事---(5)Spring Mvc请求参数传递
- flashcache_md_write
- 常用的正则表达式
- html 语义化的理解
- centos6.4下安装mongodb-3.2.6
- BestCoder Round #83 1004 zxa and xor
- Javascript基础知识盲点总结——函数
- Remus和Xen
- C/C++标准误导篇