zoukankan      html  css  js  c++  java
  • Spring Mvc 返回机制

    转自:http://jianzh5.iteye.com/blog/1909234

    Spring Mvc 有如下的几种返回方式:

    ModelAndView,

    Model,

    ModelMap,

    Map,

    View,

    String,

    void

    例子在类开始之前加上了如下注解:

    @Controller

    @RequestMapping("/adController")

    一:ModelAndView

    Java代码

    @RequestMapping("/show")
    public ModelAndView show(){
    ModelAndView mav = new ModelAndView();
    mav.setViewName("/admin/show");
    mav.addObject("aaa", "11111");
    return mav;
    }

     请求路径:项目路径/adController/show.do

     返回视图:项目路径/admin/show.jsp

    通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定页面,使用addObject()设置需要返回的值。

    在页面上可以通过El表达式${aaa}获取!

    二:MAP

    Java代码
    @RequestMapping("/show2")
    	public Map<String,String> getMap(){
    		System.out.println("show2");
    		Map<String,String> map = new HashMap<String, String>();
    		map.put("key1", "111");
    		map.put("key2", "222");
    		return map;
    	}

     请求路径:项目路径/adController/show2.do

     返回视图:项目路径/adController/show2.jsp

    URL = prefix前缀+视图名称+suffix后缀组成。

    在前台页面也可以根据${key1}来获取相应的值。

    三:String

    Java代码
    @RequestMapping("/show3")
    	public String getString(ModelMap model) {
    		model.addAttribute("aaa", "1111");
    		model.addAttribute("bbb","222");
    	  return "center";  
    	}

     请求路径:项目路径/adController/show3.do

    返回路径:项目路径/center.jsp

    URL = prefix前缀+/return的值+suffix组成

    可以通过ModelMap构建返回的参数,该ModelMap不需要自己创建。

    如果加上了@ResponseBody注解,则会直接将输出值返回输出到页面。

    页面会直接显示 “center”

    四:Void 

    Java代码
    @RequestMapping("/show4")
    	public void getVoid() {
    	}

     请求路径:项目路径/adController/show3.do

     返回路径:对于请求路径  后缀为 .jsp

    同样也可以构造ModelMap返回参数

    小结:

    1、使用String作为请求处理方法的返回类型是比较通用的方法,这样返回的逻辑视图名不会和请求的URL绑定,具有很大的灵活性,而模型数据也可以根据ModelMap构造控制。

    2、使用Void,Map 返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。

  • 相关阅读:
    tomcat 增加压缩设置
    ffmpeg centos6.5上安装(测试 amr 转换为 mp3)
    wkhtmltopdf 安装使用笔记(CentOS6)
    tomcat配置SSL证书(使用startSSL申请到的证书)
    lipo 合并target为Simulator和Device编译的静态库
    aliyun的yum源(国内速度极快)
    OS X 下iso刻录U盘(系统安装启动盘)
    Django学习笔记之数据库-模型的操作
    Django学习笔记之数据库-QuerySet_API
    Django学习笔记之数据库-数据库与模型
  • 原文地址:https://www.cnblogs.com/qlong8807/p/3459976.html
Copyright © 2011-2022 走看看