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 ...
随机推荐
- 50道Java线程面试题分析及答案
下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程 ...
- Linux(二)各种实用命令
继续Linux命令学习,没有什么捷径,每个命令都去敲几遍就熟悉了,第二篇学习的是一些比较实用类的命令,主要是从开发的角度进行学习,并不深入,话不多说,开始! 一.系统管理类 1.1 stat --st ...
- Spring项目中的数据库加密
有时候为了安全,我们需要对数据库密码进行加密: SpringDruid数据源加密数据库密码 当我们初步开始打造系统时,什么都没有一片空白,而数据源使用的是SpringDruid时,我们可以通过这篇博客 ...
- 使用DES算法实现加密解密
使用DES算法实现加密解密 我们常见的加密算法有DES.MD5.IDEA.AES等等,这篇随笔介绍使用DES算法实现加密解密 首先介绍一下DES算法: DES算法为密码体制中的对称密码体制,又被称为美 ...
- Android-----File(文件各种操作)
在Android编程中,操作文件是基本的必备技能,现在做一个操作文件的小工具:DocumentTool.java 代码如下: package com.hs.example.exampleapplica ...
- FFMPEG处理音频时间戳的主要逻辑
来源:http://www.xuebuyuan.com/1466771.html FFMPEG处理音频时间戳的主要逻辑 2013年12月09日 ⁄ 综合 ⁄ 共 2226字 ⁄ 字号 小 中 大 ⁄ ...
- Django-ModelFrom中修改save后的字段值
在ModelForm提交中,保持原未修改字段的值,views中部分代码: project = Iredmail.objects.get(id=id) ssh_crt_name = project.ss ...
- SVM 实现多分类思路
svm 是针对二分类问题, 如果要进行多分类, 无非就是多训练几个svm呗 OVR (one versus rest) 对于k个类别(k>2) 的情况, 训练k个svm, 其中, 第j个svm用 ...
- Bootstrap。
bootstrap: 1.概念:前端开发框架. 2.快速入门:下载bootstrap.导入文件. 3.响应式布局: * 同一套页面可以兼容不同分辨率的设备. * 实现:依赖于栅格系统:将一行平均分成1 ...
- Ansible-目录
Ansible-概念 Ansible-安装 YAML语法