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 ...
随机推荐
- Direct Buffer介绍
Direct Buffer 前言 上篇文章Buffer末尾中谈到堆内Buffer(Heap Buffer)和直接Buffer(Direct Buffer)的概念,但是却一笔带过,并未涉及其细节,这篇文 ...
- java中什么是接口
一.什么是接口 接口就是一个规范,类似于硬件上面的接口,在电脑主板上的PCI插槽的规范就类似于Java接口,只要是遵循PCI接口的卡,不过是什么牌子的都可以插入到PCI插槽中.所以接口就是一个规范.接 ...
- 修改host文件加速访问github
修改本地电脑系统 hosts 文件C:\Windows\System32\drivers\etc,直接在最后加入以下代码 192.30.253.112 github.com 192.30.253.11 ...
- C# vb .NET读取识别条形码线性条码ean-8
ean-8是比较常见的条形码编码规则类型的一种.如何在C#,vb等.NET平台语言里实现快速准确读取该类型条形码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确的 ...
- VC++中双缓冲技术画图
用双缓冲,先在内存中绘制,然后拷贝到屏幕DC,这样就不会出现画出去的情况了,前段时间我也是为这个问题费了不少劲.我把我的一段代码给你看一下: CDC *pDC = m_drawbox.GetDC(); ...
- git 从远程克隆代码并实现分支开发,合并分支,上传本地代码到远程
首先确认你已经安装了git 1.克隆远程代码到本地的操作 git clone 地址 打开git操作命令行 鼠标右键点击 复制需要克隆的项目的地址类似下面的ssh 输入命令进行 ...
- 为什么会有jQuery、Dojo、Ext、Prototype、YUI、Zepto这么多JS包?
目前流行的JS框架很多Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fx 等.当然还有很多我都不熟悉的 ...
- const关键字总结
在C语言中 const是C语言中总结 1.修饰的变量,使其具有常属性,使变量的值不能直接被改变.但是可以通过指针来间接的修改变量的值. 2.便于进行类型检查(在编译时进行类型检查),使编译对处理内容有 ...
- Java String 字符串
equals 字符串比较 String str = "furong"; String str1 = new String("furong"); System.o ...
- Redis学习总结整理
基本操作 设值 set KEY VALUE 获值 get KEY 设置过期时间(单位:s) set KEY VALUE ex SECONDS 设置过期时间(单位:s) exprire KEY SECO ...