SpringMVC使用进阶-内置对象和跳转

内置对象和页面跳转是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文件上传。

时间: 2024-10-05 16:50:19

SpringMVC使用进阶-内置对象和跳转的相关文章

在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端的信息   比如:request.getRemoteAddr();//获取客户端的IP地址.  (3)处理乱码   比如:request.setCharacterEncoding("UTF-8"); 二.response对象 主要作用:  (1)请求重定向(客户端跳转)  response

JavaScript进阶 - 第7章 JavaScript内置对象

第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法:能够在对象上执行的动作.例如,表单的“提交”(Submit),时间的“获取”(getYear)等: JavaScript 提供多个内建对象,比如 String.Date.Array 等等,使用对象前先定义,如下使用数组对象:   var objectNa

JavaScript基础:BOM的常见内置方法和内置对象

本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. BOM的介绍 JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元素的API.比如让盒子移动.变色.轮播图等. BOM:浏览器对象模型,操作浏览器部分功能的API.比如让浏览器自动滚动. 什么是BOM BOM

jsp九大内置对象el11内置对象

虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用其他框架也是会经常用到的.因此十分有了解的必要. 这些对象可以在JSP页面中调用,而不需要事先定义,这使得JSP编程更加的方便和快捷.其实这些内置对象都对应着某个Servlet类,在JSP被翻译成Servlet之后,这些内置对象会相应转换成对应的类实例. JSP中使用到的内置对象主要有如下九个: 1 2 3

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

JSP内置对象详解

jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request:是javax.servlet.httpservletRequest类型的对象,该对象是用户客户端的请求信息,主要用户接受客户端通过http协议传送到服务器的数据! (包括头部信息.系统信息.请求方式以及请求信息参数),jsp内置对象Web容器所创建的一组对象! 生命周期:jsp发出请求一个requ

JavaWeb学习总结(十七)——JSP中的九个内置对象

一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9

Day10(--JSP与JSP内置对象)

一.JSP 1.   java Server Pages,sun提供的一种动态的web资源底层原理是Servlet 2.   HTML.Servlet.JSP的区别 l  HTML:显示数据 l  Servlet:Java代码,可以向浏览器输出HTM,JSP的运行时会编译成Servlet去输出到浏览器 l  JSP:Java+HTML 3.   JSP的执行流程: l  浏览器发送数据到tomcat,tomcat中有JSP引擎 l  第一次访问jsp时,将jsp翻译成一个servlet l  修

java基础篇---JSP内置对象详解

在JSP中为了简化用户的开发,提供了九个内置对象,这些内置对象将由容器为用户进行实例化,而用户直接使用即可,而不用像在java中那样,必须通过关键字new进行实例化对象之后才可以使用. No. 内置对象 类型 描述 1 pageContext javax.servlet.jsp.PageContext JSP的页面容器 2 request javax.servlet.http.HttpServletRequest 得到用户的请求信息 3 response javax.servlet.http.H