springMVC如何将controller中数据传递到jsp页面

 更新时间:2017年07月05日 10:05:47   作者:水车  
这篇文章主要介绍了springMVC如何将controller中数据传递到jsp页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如:

newModelAndView("/WEBINF/jsp/showData.jsp","message",message)

其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。

在这里要注意的是 数据是默认被存放在request中的。

示例:

@RequestMapping(value="/mad/showData_1.do")
public ModelAndView showData_1(){
  String message = "这个是要传递的数据";
  /*其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。在这里要注意的是:数据是默认被存放在request中的。*/
  return new ModelAndView("/WEB-INF/jsp/showData.jsp","message",message);
}

前台页面获取方式:

request:${requestScope.message}

2> 可以在类的前面添加注解

@SessionAttributes({“message”,”user”})

这个注解可以设置对应的model中参数也会在session中存储一份。该注解中的参数为一个集合,可以写多个,如上面的例子,其中message和user都是存储的数据的key.

示例程序:

复制代码 代码如下:

@SessionAttributes({"message","user"})   //modelAndView中的对应的数据也会在session中存储一份

页面获取:

session:${sessionScope.message}<br/>

3 > 数据modelAndView返回一个集合

该处理方式和上面的处理方式一直,因为modelAndView接受的数据类型是Object的,集合也是一样的处理方式

示例:

//使用modelAndView对象将数据传递到前台。
//传递多个参数(不同类型的)
  @RequestMapping(value="/mad/showData_2.do")
  public ModelAndView showData_2(){
   System.out.println("showData_2");
   String message = "这个是要传递的数据";
   User user = new User("张三", 12, new Date());
   List<User> us= new ArrayList<User>();
   us.add(new User("张三", 12, new Date()));
   us.add(new User("张四", 13, new Date()));
   us.add(new User("张五", 14, new Date()));
   ModelAndView mad = new ModelAndView("/WEB-INF/jsp/showData.jsp");
   //将数据存入modelMap
   mad.addObject("message", message);
   mad.addObject(user);//默认为类名的首字母小写
   mad.addObject("users", us);
   return mad;
 }

前台页面获取方式:

request:${requestScope.message}<br/>
<c:forEach items="${requestScope.users }"var="u">
   ${u.name }-${u.age }-${u.birth }<br/>
  </c:forEach>

4、使用modelAndView传递多个参数。

可以通过ModelAndView的mad.addObject(“message”,message);方法设置参数。

该方法中第一个参数为数据的key,第二个参数为数据对象。

也可以使用mad.addObject(user);方法

该方法中数据的参数为数据对象,数据的key为该对象的类的类名 (其中首字母小写)。

5、使用ModelMap传递多个数据到jsp中。

在方法的参数列表中添加形参 ModelMap map,spring 会自动创建ModelMap对象。

然后调用map的put(key,value)或者addAttribute(key,value)将数据放入map中,spring会自动将数据存入request。

示例:

//使用modelMap对象将数据传递到前台。
  //传递多个参数(不同类型的)
  @RequestMapping(value="/mad/showData_3.do")
  public String showData_3(ModelMap map){
   System.out.println("showData_3");
   String message = "这个是要传递的数据";
   User user = new User("张三", 12, new Date());
   List<User> us= new ArrayList<User>();
   us.add(new User("张三", 12, new Date()));
   us.add(new User("张四", 13, new Date()));
   us.add(new User("张五", 14, new Date()));
   //将数据存入modelMap
   map.put("message", message);
   map.addAttribute("user", user);
   map.put("users", us);
   return"/WEB-INF/jsp/showData.jsp";
  }

页面调用:

request:${requestScope.message}<br/>
  session:${sessionScope.message }<br/>
  application:${applicationScope.message}<br/>
  <hr/>
  <h1>ModelMap中的数据</h1>
  ${requestScope.message}<br/>
  ${requestScope.user.name}<br/>
  <p>列表</p>
  <c:forEach items="${requestScope.users}" var="u">
   ${u.name }-${u.age }-${u.birth }<br/>
  </c:forEach>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot结合JWT实现用户登录、注册、鉴权

    SpringBoot结合JWT实现用户登录、注册、鉴权

    用户登录、注册及鉴权是我们基本所有系统必备的,也是很核心重要的一块,本文主要介绍了SpringBoot结合JWT实现用户登录、注册、鉴权,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-05-05
  • Java Socket通信(一)之客户端程序 发送和接收数据

    Java Socket通信(一)之客户端程序 发送和接收数据

    对于Socket通信简述,服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容,Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容
    2016-03-03
  • fastjson转换对象实体@JsonProperty不生效问题及解决

    fastjson转换对象实体@JsonProperty不生效问题及解决

    这篇文章主要介绍了fastjson转换对象实体@JsonProperty不生效问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 简单实现Servlet文件下载功能

    简单实现Servlet文件下载功能

    这篇文章主要教大家如何简单实现Servlet文件下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • SpringCloud LoadBalancer自定义负载均衡器使用解析

    SpringCloud LoadBalancer自定义负载均衡器使用解析

    LoadBalancerClient 是 SpringCloud 提供的一种负载均衡客户端,Ribbon 负载均衡组件内部也是集成了 LoadBalancerClient 来实现负载均衡,本文给大家深入解析 LoadBalancerClient 接口源码,感兴趣的朋友跟随小编一起看看吧
    2023-04-04
  • 微服务架构设计RocketMQ基础及环境整合

    微服务架构设计RocketMQ基础及环境整合

    这篇文章主要介绍了微服务架构设计入门RocketMQ的基础及环境整合实现步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • Java实现批量查找与替换Excel文本的思路详解

    Java实现批量查找与替换Excel文本的思路详解

    在 Java 中,可以通过find和replace的方法来查找和替换单元格的数据,下面小编将以Excel文件为例为大家介绍如何实现Excel文件内容的批量替换,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Java中import导入的用法说明

    Java中import导入的用法说明

    这篇文章主要介绍了Java中import导入的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • SpringBoot 的 web 类型推断详解

    SpringBoot 的 web 类型推断详解

    这篇文章主要介绍了SpringBoot 的 web 类型推断详解的相关资料,需要的朋友可以参考下
    2022-12-12
  • Spring Boot配置动态更新问题

    Spring Boot配置动态更新问题

    这篇文章主要介绍了Spring Boot配置动态更新问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09

最新评论