源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-10-01 00:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:springMVC如何将controller中数据传递到jsp页面
[b]1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如: [/b]
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}
[b]2> 可以在类的前面添加注解 [/b]
@SessionAttributes({“message”,”user”})
这个注解可以设置对应的model中参数也会在session中存储一份。该注解中的参数为一个集合,可以写多个,如上面的例子,其中message和user都是存储的数据的key. 示例程序:
[u]复制代码[/u] 代码如下:
@SessionAttributes({"message","user"})   //modelAndView中的对应的数据也会在session中存储一份
页面获取:
session:${sessionScope.message}<br/>
[b]3 > 数据modelAndView返回一个集合[/b] 该处理方式和上面的处理方式一直,因为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>
[b]4、使用modelAndView传递多个参数。[/b] 可以通过ModelAndView的mad.addObject(“message”,message);方法设置参数。 该方法中第一个参数为数据的key,第二个参数为数据对象。 也可以使用mad.addObject(user);方法 该方法中数据的参数为数据对象,数据的key为该对象的类的类名 (其中首字母小写)。 [b]5、使用ModelMap传递多个数据到jsp中。[/b] 在方法的参数列表中添加形参 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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部