4.学习springmvc的响应数据和结果视图
一.返回值分类:
- 字符串:返回值为需要展示的视图
- void:返回为默认的页面(方法名.jsp)
- ModleAndView:存储对象并返回设置的页面
1.字符串:
jsp:

<a href="/user/testString">response</a>

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>success</title>
</head>
<body>
<h3>执行成功</h3> ${user.username}
${user.age}
</body>
</html>
控制器方法:

/**
* 返回值为需要展示的视图
* @param model
* @return
*/
@RequestMapping("/testString")
public String testString(Model model){ System.out.println("testString执行了..."); //模拟从数据库中查询出User对象
User user = new User();
user.setUsername("美美");
user.setPassword("123");
user.setAge(30); //设置model对象
model.addAttribute("user",user); return "success";
}
2.void
jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html>
<head>
<title>response</title>
</head>
<body> <a href="/user/testString">testString</a>
<a href="/user/testVoid">testVoid</a>
</body>
</html>
方法:

/**
* void的返回值,会默认跳转到一个testVoid.jsp的页面下导致错误。
* 我们可以使用
* 1.请求转发:路径名为 "/WEB-INF/pages/success.jsp"
* 2.重定向:路径名为 request.getContextPath()+"/index.jsp"
* 注:
* forward:请求转发为服务器重定向,可以访问/WEB-INF中的jsp文件。
* redirect:客户端重定向,不可以访问/WEB-INF中的jsp文件,只能访问webapp中jsp
* @param request
* @param response
* @throws Exception
*/
@RequestMapping("/testVoid")
public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("testVoid执行了..."); //请求转发:可以访问/WEB-INF中的jsp文件。
//request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response); //重定向:不可以访问/WEB-INF中的jsp文件。
response.sendRedirect(request.getContextPath() + "/index.jsp"); //直接响应
//response.setCharacterEncoding("UTF-8");
//response.setContentType("text/html;charset=UTF-8"); //response.getWriter().println("hello"); return;
}
3.ModelAndView
jsp

<a href="/user/testModelAndView">testModelAndView</a>
方法:

/**
* 返回ModelAndView设置的页面
* @return
*/
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView() { System.out.println("testModelAndView执行了..."); //创建ModelAndView对象
ModelAndView mv = new ModelAndView(); User user = new User();
user.setUsername("美美");
user.setPassword("123");
user.setAge(30); //将user放入ModelAndView对象中,同时也会将user对象放入request对象中
mv.addObject("user", user); //设置跳转界面
mv.setViewName("success"); return mv;
}
二.使用关键字进行请求转发或重定向
jsp:

<a href="/user/testForwardOrRedirect">testForwardOrRedirect</a> <br>
方法:

/**
* 使用关键字实现请求转发或重定向
* @return
*/
@RequestMapping("/testForwardOrRedirect")
public String testForwardOrRedirect() { System.out.println("testForwardOrRedirect执行了..."); // 请求转发
// return "forward:/WEB-INF/pages/success.jsp"; // 重定向
return "redirect:/index.jsp"; }
4.学习springmvc的响应数据和结果视图的更多相关文章
- SpringMvc响应数据和结果视图
响应数据和结果视图 返回值分类 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址. //指定逻辑视图名,经过视图解析器解析为 jsp 物理路径:/WEB ...
- Java框架之SpringMVC 03-RequestMapping-请求数据-响应数据
SpringMVC SpringMVC是一种轻量级的.基于MVC的Web层应用框架. 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口. 采用了松散耦合可插拔组件结构,比 ...
- 5.学习springmvc响应json数据
一.配置不过滤静态资源文件:用来访问webapp中js,css,images文件 1.修改springmvc.xml <!--配置前端控制器,用于设置哪些资源不拦截--> <mvc: ...
- springmvc学习笔记(18)-json数据交互
springmvc学习笔记(18)-json数据交互 标签: springmvc springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 加入json转换的依赖 ...
- Java开发学习(二十六)----SpringMVC返回响应结果
SpringMVC接收到请求和数据后,进行了一些处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户. 比如:根据用户ID查 ...
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- springmvc 怎么响应json数据
springmvc 怎么响应json数据@Controller@RequestMapping("/items") class ItemsController{ @RequestM ...
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
随机推荐
- gitblit搭建
gitblit 1.8.0 + java7 下载安装java7 https://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-windows- ...
- C#使用HttpWebRequest发送数据和使用HttpWebResponse接收数据的一个简单示例
新建一个.NET Core控制台项目,代码如下所示: using System; using System.Text; using System.Net; using System.Collectio ...
- 一款比较强大的jquery表格插件Datatables
Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 链接:http://www.datatables.club/ 本人无聊时发现的一款用 ...
- SQL server中常用sql语句
--循环执行插入10000条数据 declare @ID intbeginset @ID=1 while @ID<=10000begininsert into table_name values ...
- java基础小练习,1-打印一百次(1~10)的随机数,2-固定一个随机数(1~100),然后猜出他,3-定义以指定格式打印集合(ArrayList类型作为参数),使用{}括起来,使用@代替,分隔每个元素
推荐自己码一下,可以使用别的方法,面向对象,不需要注重过程 /* 题目:我需要打印一百次(1~10)的随机数 */ import java.util.Random; public class demo ...
- css3中的calc的使用
最近在布局的时候遇到一个问题,在页面中的左侧是侧边栏,右边是内容区域,内容区域中有一个固定定位的标签页,在设置固定定位的标签设置宽度的时候应该是内容区域的宽度,而固定定位的时候相对于是窗口的宽度,所以 ...
- Nginx作为代理服务
代理服务简介 什么是代理服务 代理-代理办理(代理理财.代理收货.代理购物等等). HTTP请求没有代理服务的模型图 HTTP请求具有代理服务的模型图 代理分类 正向代理 反向代理 正向代理 当局域网 ...
- echarts地图 绘制部分上海市公交线路数据
源代码地址 https://github.com/a1115040996/MyHTML/blob/gh-pages/echarts/roadMap.html 预览地址 https://a1115040 ...
- pyppeteer进阶技巧
记录一下在使用pyppeteer过程中慢慢发现的一些稍微高级一点的用法. 一.拦截器简单用法 拦截器作用于单个Page,即浏览器中的一个标签页.每初始化一个Page都要添加一下拦截器.拦截器实际上是 ...
- h5 js复制 功能
感谢 http://www.jq22.com/webqd6003 var copy1 = document.getElementById('copy1'); var copy2 = document. ...