Spring 通过Controller 向 View 传值的方法有以下四种

  1. HttpServletRequest
  2. ModelAndView
  3. Map<String, Object> map
  4. Model model

第一种

需要参数HttpServletRequest 返回值是jsp页面

@RequestMapping("/query1.do")

public String queryUser1(HttpServletRequest request){

String name = "张三";

request.setAttribute("name", name);

UserInfo user = new UserInfo();

user.setUserId(9257);

user.setUserName("华安");

request.setAttribute("user", user);

return "query";

}

第二种 ModelAndView 返回值是ModelAndView 参数不需要

@RequestMapping("/query2.do")

public ModelAndView queryUser2(){

UserInfo user = new UserInfo();

user.setUserId(1001);

user.setUserName("秋香");

//model

Map<String,Object> map = new HashMap<String,Object>();

map.put("user2", user);

return new ModelAndView("query",map);

}

第三种 参数是Map 返回值是jsp页面

@RequestMapping("/query3.do")

public String queryUser3(Map<String,Object> map){

UserInfo user = new UserInfo();

user.setUserId(1002);

user.setUserName("石榴");

map.put("user3", user);

return "query";

}

第四种 参数是Model 返回值是jsp 使用model的addAttribute方法

@RequestMapping("/query4.do")

public String queryUser4(Model  model){

UserInfo user  = new UserInfo();

user.setUserId(1);

user.setUserName("华夫人");

model.addAttribute("user4", user);

return "query";

}

但是无论哪一种方式 简单参数或对象都可以通过变量名来显示

userId:${user4.userId }

userName:${user4.userName }

但是数组的返回值会显示则会有问题,如:直接返回数组

@RequestMapping("/query5.do")

public String queryUser5(Model  model){

UserInfo user  = new UserInfo();

user.setUserId(1);

user.setUserName("华夫人");

List<UserInfo> list = new ArrayList<UserInfo>();

list.add(user);

list.add(user);

list.add(user);

model.addAttribute("list", list);

return "query";

}

userId:${list}

list:[UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null], UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null], UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null]]

sring mvc 返回值至jsp界面的几种方式的更多相关文章

  1. mvc 返回值

    mvc返回值为Model类型 public ActionResult Index(T result) { return View(result); } view中的对象即为页面中的Model数据,之后 ...

  2. jira插件带ui界面和几种方式

    http://localhost:2990/jira/plugins/servlet/issuecrud jira插件带ui界面和几种方式 https://developer.atlassian.co ...

  3. 访问WEB-INF下JSP资源的几种方式(转)

    访问WEB-INF下JSP资源的几种方式 方法一: 本来WEB-INF中的jsp就是无法通过地址栏访问的,所以安全. 如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置ser ...

  4. spring MVC 返回值信息和ResponseBody的响应json数据

    spring mvc的界面返回: 如果我们定义的返回类型是String 那么我们返回的时候直接写入 我们的界面的名字就可以了  springmvc会自动去找到我们的界面,如果是void类型的返回那么 ...

  5. WebView 加载网页返回后,jsp界面数据消失(一个斜杆引起来的风波)

    http://ip:port//interface/app/index.jsp 如果不小心就会把,port后面的//两个斜杆给忽略... 当有两个斜杆时,webview仍可以将网页,正常加载.但是数据 ...

  6. 在一个JSP页面中包含另一个JSP页面的三种方式

    转载自://http://blog.163.com/neu_lxb/blog/static/179417010201121343132918/ (1)include指令          includ ...

  7. JSP连接数据库的两种方式:Jdbc-Odbc桥和Jdbc直连(转)

    学JSP的同学都要知道怎么连数据库,网上的示例各有各的做法,弄得都不知道用谁的好.其实方法千变万化,本质上就两种:Jdbc-Odbc桥和Jdbc直连. 下面先以MySQL为例说说这两种方式各是怎么连的 ...

  8. ios 实现跳转到评价界面的两种方式

    要想在App内跳转到特定App的详情页或者评论页,首先需要获取到App的id.在 iTunes Connect网站上登陆之后,选择“我的App”,然后点击某个特定的App进入,在App信息的综合信息中 ...

  9. 一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别

    转载下, 转载自:http://blog.csdn.net/fn_2015/article/details/70311495 1.第一种:jstl  import <c:import url=& ...

随机推荐

  1. $(inherited) "$(SRCROOT) 修改.a文件的路径 --Library Search Paths

    $(inherited) "$(SRCROOT)/.a文件所在的文件名" //如果有多个.a文件格式就像这样 $(inherited) "$(SRCROOT)/xxxx& ...

  2. [Android Pro] How to get recent tasks on Android “L”?

    reference : http://stackoverflow.com/questions/24590533/how-to-get-recent-tasks-on-android-l/2688546 ...

  3. July 9th, Week 28th Saturday, 2016

    Every cloud has a silver lining. 山穷水尽疑无路,柳暗花明又一村. Every cloud has a silver lining, that just because ...

  4. Android开发环境搭建:离线安装ADT插件和安装SDK

    一.准备 在线安装SDK较慢,在此我选择了离线安装,所需要的工具下载:http://yun.baidu.com/share/link?shareid=2286446004&uk=2000812 ...

  5. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

  6. NYOJ题目62笨小熊

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAK1CAIAAAChInrhAAAgAElEQVR4nO3dO3LjutaG4X8Szj0Qxx

  7. python中random模块使用

  8. Android Studio 生成Jar包时遇到的gradlew下载问题

    网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download  XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...

  9. **PHP中替换换行符

    PHP中替换换行符 php 不同系统的换行不同系统之间换行的实现是不一样的linux 与unix中用 \nMAC 用 \rwindow 为了体现与linux不同 则是 \r\n所以在不同平台上 实现方 ...

  10. Pyqt 窗体间传值

    窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件.  Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...