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后缀组成。

  • 相关阅读:
    LINUX安装 RPM与YUM
    ln s 软链接知识总结
    JQuery EasyUI 之 combobox plugin
    域名的DNS解析指南
    Asp.NET + OWC 输出Chart(图表)
    打败 IE 的葵花宝典:CSS Bug Table
    Route命令使用详解
    JQuery EasyUI 之 validatebox plugin
    JQuery easyUI 之 datebox plugin
    [转]如何安全的存储密码
  • 原文地址:https://www.cnblogs.com/qlong8807/p/3459976.html
Copyright © 2011-2022 走看看