SpringMVC使用进阶-内置对象和跳转
来源:互联网 发布:c语言换行符号 编辑:程序博客网 时间:2024/06/05 11:52
内置对象和页面跳转是web开发中比较重要的组成部分,springmvc作为新生代的框架,对这方面的支持也还算不错,这次着重分享跳转方式和内置对象的使用
一 页面跳转
页面跳转分为客户端跳转和服务端跳转两种,在springmvc中使用跳转是比较简单的,只需在return后面写就可以了
(1)客户端跳转
return "redirect:user.do?method=reg5"; return "redirect:http://www.baidu.com";
(2)服务端跳转
return "forward:index.jsp";return "forward:user.do?method=reg5";
二 内置对象
springmvc中也可以像servlet那样使用内置对象,同时也有自己独立的写法,先来看看springmvc中运用传统方式使用内置对象
@RequestMapping(params="method=reg2")public String reg2(String uname,HttpServletRequest req,ModelMap map){req.setAttribute("a", "aa");req.getSession().setAttribute("b", "bb");return "index";}
这段代码和servlet比较类似,但是springmvc的写法就更简单,如下所示
ModelMap 和request内置对象的功能一致
@SessionAttributes 看名字就可以看出这个注解和session有关,主要用于将ModelMap中指定的属性放到session中,可以参照下面的事例代码
@Controller@RequestMapping("/user.do")@SessionAttributes({"u","a"}) //将ModelMap中属性名字为u、a的再放入session中。这样,request和session中都有了。public class UserController {@RequestMapping(params="method=reg4")public String reg4(ModelMap map) { System.out.println("HelloController.handleRequest()");map.addAttribute("u","uuuu"); //将u放入request作用域中,这样转发页面也可以取到这个数据。return "index";}}
@ModelAttribute 这个注解可以和@SessionAttribute配合使用,可以将ModelMap中属性的值通过该注解自动赋给指定变量
如下所示
@RequestMapping(params="method=reg5")public String reg5(@ModelAttribute("u")String uname,ModelMap map) { //[将属性u的值赋给形参uname]System.out.println("HelloController.handleRequest()");System.out.println(uname); return "index";}
最后总结一下ModelAndView模型视图类,见名知意,从名字上我们可以知道ModelAndView中的Model代表模型,View代表视图。即,这个类把要显示的数据存储到了Model属性中,要跳转的视图信息存储到了view属性。但是常规情况下一般是返回字符串。为了看得更明白我也把使用ModelAndView方式返回页面的代码贴出来。
@RequestMapping(params="method=login3")public ModelAndView login3(){ModelAndView mv=new ModelAndView();mv.setViewName("index2");return mv;}
是不是都很简单呢,下次打算分享的内容是springmvc文件上传。
1 0
- SpringMVC使用进阶-内置对象和跳转
- request.setCharacterEncoding 和常用内置对象 跳转
- 类的内置方法 和 面向对象进阶
- CDI进阶第七步 注入内置对象
- JavaScript 进阶学习 5 内置对象
- JSP内置对象和EL内置对象
- Jsp内置对象使用
- JSP基础语法之十三:Servlet取得内置对象和跳转
- DOM对象和内置对象
- 包装对象和内置对象
- SpringMVC使用进阶-文件上传
- SpringMVC使用进阶-文件上传
- SpringMvc的服务器端跳转和客户端跳转
- jsp内置对象 的使用范围和类型【说明】
- springmvc 参数传递和跳转
- 页面跳转,js和SpringMVC
- 使用Python内置集合对象和内置函数filter()过滤无效书评
- Asp内置对象的使用
- Docker最佳实践!尽在2014 Container技术大会
- 经典重读《信号与系统》-第二章
- 多态
- 0x80070422 修复方法,
- Swift教程_基础技术(0004)_为animation.timingFunction赋值
- SpringMVC使用进阶-内置对象和跳转
- Android添加垂直滚动ScrollView
- ytaaa
- 使用Hibernate 中的merge()方法
- CImage类的介绍与使用
- OpenGL中的纹理映射
- 自动化安装部署带有HA的OpenStack集群 开源项目 欢迎交流
- 信息安全基础知识(五)主动攻击与被动攻击
- Java并发(具体实例)——构建高效且可伸缩的结果缓存