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 ...
随机推荐
- golang --- map如何判断key是否存在
判断方式为value,ok := map[key], ok为true则存在 package main import "fmt" func main() { demo := map[ ...
- Spring Cloud之Zuul网关路由
前端请求先通过nginx走到zuul网关服务,zuul负责路由转发.请求过滤等网关接入层的功能,默认和ribbon整合实现了负载均衡 比如说你有20个服务,暴露出去,你的调用方,如果要跟20个服务打交 ...
- [個人紀錄] windows form , usercontrol design 模式不見
windows form 跟 usercontrol 都變成cs檔 無法點擊進入設計模式 <Compile Include="Form1.cs"/> <Compi ...
- [C++] 初始化 vs 赋值
- Django---Django中使用COOKIE和SESSION
Django---Django中使用COOKIE和SESSION 一丶Cookie cookie的由来 # HTTP协议是无状态的. # 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请 ...
- jQuery 前端复选框 全选 反选 下拉菜单联动
jQuery 页面中复选框全选.反选.下拉联动(级联) <!DOCTYPE html> <html lang="en"> <head> < ...
- Nuxt项目搭建到发布部署
一.项目目录结构: 方式1.直接利用官方提供好的脚手架工具进行搭建:npx create-nuxt-app <项目名> 目录会是这样(具体目录都放些什么,请看官方文档,详细): 方式2.手 ...
- Python人工智能常用库Numpy使用入门
第一章 jupyter notebook简单教程 命令模式按键esc开启 Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Al ...
- linux配置iptables
iptables主要用来配置防火墙.其是一个需要特别谨慎设置的东西,服务器不在身边,不要贸然设置,有可能导致无法SSH,那就麻烦了. 1.首先介绍一下指令和相关配置文件 启动指令:service ip ...
- PHP实现单人多人聊天源码免费分享 | 电脑报修系统
源码清单 1. 简易版登陆式聊天源码. 2. 电脑报修轻系统源码. 3. 关注下面公众号回复“聊天”,免费获取. 聊天系统 虽然微信,QQ是即时通讯的元老.但是他们限制很多,所以很多人都想做一个自己的 ...