SpringMVC的页面几种返回方式
package com.boventech.learning.controller; import java.util.HashMap;
import java.util.Map; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import com.boventech.learning.entity.User; /**
* MVCReturn
* @author peng.xia
*
*/
@Controller
@RequestMapping("/MVCReturn")
public class SpringMVCReturnController { @RequestMapping(value="/index1",method=RequestMethod.GET)
public ModelAndView index(){
ModelAndView modelAndView = new ModelAndView("/user/index");
modelAndView.addObject("name", "xxx");
return modelAndView;
}
//对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面; @RequestMapping(value="/index2",method=RequestMethod.GET)
public ModelAndView index2(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("name", "xxx");
modelAndView.setViewName("/user/index");
return modelAndView;
}
//返回的是一个包含模型和视图的ModelAndView对象; /**
* Model一个模型对象,
* 主要包含spring封装好的model和modelMap,以及java.util.Map,
* 当没有视图返回的时候视图名称将由requestToViewNameTranslator决定;
* @return
*/
@RequestMapping(value="/index3",method=RequestMethod.GET)
public Map<String, String> index3(){
Map<String, String> map = new HashMap<String, String>();
map.put("", "");
//map.put相当于request.setAttribute方法
return map;
}
//响应的view应该也是该请求的view。等同于void返回。 //返回String
//通过model进行使用
@RequestMapping(value="/index4",method = RequestMethod.GET)
public String index(Model model) {
String retVal = "user/index";
User user = new User();
user.setName("XXX");
model.addAttribute("user", user);
return retVal;
} //通过配合@ResponseBody来将内容或者对象作为HTTP响应正文返回(适合做即时校验);
@RequestMapping(value = "/valid", method = RequestMethod.GET)
@ResponseBody
public String valid(@RequestParam(value = "userId", required = false) Integer userId,
@RequestParam(value = "name") String name) {
return String.valueOf(true);
}
//返回字符串表示一个视图名称,这个时候如果需要在渲染视图的过程中需要模型的话,就可以给处理器添加一个模型参数,然后在方法体往模型添加值就可以了, @RequestMapping(method=RequestMethod.GET)
public void index5(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("xxx", "xxx");
}
//返回的结果页面还是:/type
//这个时候我们一般是将返回结果写在了HttpServletResponse 中了,如果没写的话,
//spring就会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果这个时候需要模型的话,处理方法和返回字符串的情况是相同的。 }
- package com.boventech.learning.controller;
- import java.util.HashMap;
- import java.util.Map;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import com.boventech.learning.entity.User;
- /**
- * MVCReturn
- * @author peng.xia
- *
- */
- @Controller
- @RequestMapping("/MVCReturn")
- public class SpringMVCReturnController {
- @RequestMapping(value="/index1",method=RequestMethod.GET)
- public ModelAndView index(){
- ModelAndView modelAndView = new ModelAndView("/user/index");
- modelAndView.addObject("name", "xxx");
- return modelAndView;
- }
- //对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面;
- @RequestMapping(value="/index2",method=RequestMethod.GET)
- public ModelAndView index2(){
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.addObject("name", "xxx");
- modelAndView.setViewName("/user/index");
- return modelAndView;
- }
- //返回的是一个包含模型和视图的ModelAndView对象;
- /**
- * Model一个模型对象,
- * 主要包含spring封装好的model和modelMap,以及java.util.Map,
- * 当没有视图返回的时候视图名称将由requestToViewNameTranslator决定;
- * @return
- */
- @RequestMapping(value="/index3",method=RequestMethod.GET)
- public Map<String, String> index3(){
- Map<String, String> map = new HashMap<String, String>();
- map.put("1", "1");
- //map.put相当于request.setAttribute方法
- return map;
- }
- //响应的view应该也是该请求的view。等同于void返回。
- //返回String
- //通过model进行使用
- @RequestMapping(value="/index4",method = RequestMethod.GET)
- public String index(Model model) {
- String retVal = "user/index";
- User user = new User();
- user.setName("XXX");
- model.addAttribute("user", user);
- return retVal;
- }
- //通过配合@ResponseBody来将内容或者对象作为HTTP响应正文返回(适合做即时校验);
- @RequestMapping(value = "/valid", method = RequestMethod.GET)
- @ResponseBody
- public String valid(@RequestParam(value = "userId", required = false) Integer userId,
- @RequestParam(value = "name") String name) {
- return String.valueOf(true);
- }
- //返回字符串表示一个视图名称,这个时候如果需要在渲染视图的过程中需要模型的话,就可以给处理器添加一个模型参数,然后在方法体往模型添加值就可以了,
- @RequestMapping(method=RequestMethod.GET)
- public void index5(){
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.addObject("xxx", "xxx");
- }
- //返回的结果页面还是:/type
- //这个时候我们一般是将返回结果写在了HttpServletResponse 中了,如果没写的话,
- //spring就会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果这个时候需要模型的话,处理方法和返回字符串的情况是相同的。
- }
SpringMVC的页面几种返回方式的更多相关文章
- django 模板语法和三种返回方式
模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...
- Spring MVC三种返回方式
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void. 下面一一进行说明: 1.ModelAndV ...
- SpringMVC的几种返回方式
package com.boventech.learning.controller; import java.util.HashMap; import java.util.Map; import or ...
- asp.net 的页面几种传值方式
http://www.cnblogs.com/makqiq/p/5882448.html 1.Querystring Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL.如果 ...
- SpringMVC 三种异常处理方式
SpringMVC 三种异常处理方式 在 SpringMVC, SpringBoot 处理 web 请求时, 若遇到错误或者异常,返回给用户一个良好的错误信息比 Whitelabel Error Pa ...
- springMVC中controller的几种返回类型
==网文1,还不错,感觉比较老旧springMVC中controller的几种返回类型 - CSDN博客http://blog.csdn.net/qq_16071145/article/details ...
- SpringMVC请求后台地址URL没有.*的几种实现方式
今天做项目,由于项目是通过扫二维码进入,二维码存放的地址不希望有 .do,而是http:xxxx:8080/xxx/yyy/zzz的格式(zzz为参数),但是项目其它请求url后面都必须要有.do,想 ...
- 【spring springmvc】这里有你想要的SpringMVC的REST风格的四种请求方式
概述 之前的文章springmvc使用注解声明控制器与请求映射有简单提到过控制器与请求映射,这一次就详细讲解一下SpringMVC的REST风格的四种请求方式及其使用方法. 你能get的知识点 1.什 ...
- SpringMVC常用注解,返回方式,路径匹配形式,验证
常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...
随机推荐
- 【MySQL】EXPLAIN命令详解
具体参考: https://www.cnblogs.com/gomysql/p/3720123.html 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么 ...
- Xcode下修改plist文件
plist文件在Mac OS下的重要性,如同Windows下的注册表文件.而很多场景下面,我们需要修改plist文件来实现一些"自动化"操作 Mac OS本身提供了一个工具:P ...
- Kubernetes中StatefulSet介绍
StatefulSet 是Kubernetes1.9版本中稳定的特性,本文使用的环境为 Kubernetes 1.11.如何搭建环境可以参考kubeadm安装kubernetes V1.11.1 集群 ...
- PHP获取指定函数定义在哪个文件中及行号
当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置.特别是有的项目中,函数会有多个地方都有定义,那么如果我想知道当前调用的这个函数是在哪里定义的,可以用下面这个方法. function ...
- .condarc(conda 配置文件)、换国内源
原文地址 https://blog.csdn.net/lanchunhui/article/details/71379555 Configuration — Conda documentation . ...
- Unexpected identifier in composer-common/lib/cardstore/businessnetworkcardstore.js:54
c错误描述 Unexpected identifier in composer-common/lib/cardstore/businessnetworkcardstore.js:54 yo hyper ...
- Guava BiMap AbstractBiMap
BiMap BiMap是一个结构,他定义了一个Map结构,代表这个Map的key和value都具有唯一性, 并且可以生成相互联系的反向视图, 反向视图的数据会随着本体BiMap的变更而变更 /* * ...
- 【VC++积累】之八、PreTranslageMessage;TranslageMessage;GetMessage和PeekMessage的区别
先来看windows消息机制: 首先系统(也就是windows)把来自硬件(鼠标,键盘等消息)和来自应用程序的消息 放到一个系统消息队列中去. 而应用程序需要有自己的消息队列,也就是线程消息队列,每一 ...
- Team Viewer 远程链接一直显示-"正在初始化显示参数"
出现这个原因, 原因1: 可能是 通过(mstsc)远程桌面方式运行了teamviewer,被远程控制电脑就会出现这个现象. 可以试一下 服务-teamviewer-属性-登录-本地系统账户 -允许服 ...
- java的关于流程结构做的几个案例
最近在学习中,做了一个java的几个案例,主要是九九乘法口诀,实心菱形和空心菱形的算法,模拟彩票程序以及BMI的测试标准等小案例. 一:九九乘法表 /** * 九九乘法口诀 */ public sta ...