• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Springmvc如何实现向前台传递数据

java 搞代码 4年前 (2022-01-05) 27次浏览 已收录 0个评论

这篇文章主要介绍了Springmvc如何实现向前台传递数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1) 在springmvc方法的形参中定义Map,Model,ModelMap,并在方法中通过这三个对象进行值的传递;

①其中Map和ModelMap使用方式是一致的;

 @RequestMapping("/detail") public String detail(Integer id, //ModelMap modelMap Map modelMap ){ HashMap conditions=new HashMap(); conditions.put("sal","88888888"); conditions.put("age","35"); //todo 去数据库查询用户信息 System.out.println("查询id为"+id+"的用户记录"); User user=new User(id,"詹姆斯",18,"男","美国克利夫兰", new Role("小前锋",23), conditions, Arrays.asList("打篮球","打游戏")); //通过modelMap或map向前台传值==>request.setAttribute(key,value) modelMap.put("user",user); return "detail.jsp"; }

②Model只是通过addAttribute进行传值;

 @RequestMapping("/detail") public String detail(Integer id, Model model){ HashMap conditions=new HashMap(); conditions.put("sal","88888888"); conditions.put("age","35"); //todo 去数据库查询用户信息 System.out.println("查询id为"+id+"的用户记录"); User user=new User(id,"詹姆斯",18,"男","美国克利夫兰", new Role("小前锋",23), conditions, Arrays.asList("打篮球","打游戏")); //通过Model对象传递数据 model.addAttribute("user",user); return "detail.jsp"; }

2) 定义方法的返回值类型为ModelAndView,在方法中创建ModelAndView 并指定跳转的页面和传递的数据,最后返回ModelAndView对象;

3) 通过注解的方式 @ModelAttribute;

4) 在方法参数中定义Request或session对象,通过其对应的API;

下面2),3),4)的情况都在下面的代码内;

 //演示通过ModelAndView向页面传值 //@ModelAttribute:注解将对象传递到request域中 1)加在方法参数上,将对象传递到request域中,或向request域中取值 //                     2)加在方法上,将方法的返回值放入request域中 @RequestMapping("/detail2") public ModelAndView detail2(Integer id, @ModelAttribute("username") String username, HttpServletRequest request, HttpSession session, HttpServletResponse response ){ request.setAttribute("requestTest","请求域数据"); session.setAttribute("sessionTest","session域数据"); HashMap conditions=new HashMap(); conditions.put("sal","88888888"); conditions.put("age","35"); //todo 去数据库查询用户信息 System.out.println("查询id为"+id+"的用户记录"); User user=new User(id,"詹姆斯",18,"男","美国克利夫兰", new Role("小前锋",23), conditions, Arrays.asList("打篮球","打游戏")); //通过ModelAndView设置跳转的页面和值 ModelAndView modelAndView=new ModelAndView(); //向页面传值 modelAndView.addObject("user",user); //指定跳转的页面 以/开头,则直接到资源根目录下找(即webapp下) //       不以/开头,跟在RequestMapping最后一个/后面 modelAndView.setViewName("detail.jsp"); return modelAndView; } //将方法返回值放入request域中 @ModelAttribute(name = "modelAttributeTest") public String test(){ return "我是@ModelAttribute的测试"; }

detail.jsp中代码如下:

   <title>用户详情页面</title> <h1>用户详细信息</h1><table> <tr> <td>用户名</td><td>${user.name}</td><td>年龄</td><td>${user.age}</td></tr><tr> <td>性别</td><td>${user.sex}</td><td>地址</td><td>${user.addr}</td></tr><tr> <td>角色ID</td><td>${user.role.id}</td><td>角色名</td><td>${user.role.name}</td></tr><tr> <td>条件1</td><td>${user.conditions.sal}</td><td>条件2</td><td>${user.conditions.age}</td></tr><tr> <td>爱好</td><td>${user.hobbies}</td></tr></table> 获取@ModelAttribute设置的值:${username}<br /> 获取@ModelAttribute设置的值2:${modelAttributeTest}<br /> 获取request设置的值3:${requestTest}<br /> 获取session设置的值4:${sessionTest} 

以上就是Springmvc如何实现向前台传递数据的详细内容,更多请关注gao

来源gaodai.ma#com搞##代!^码网

daima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Springmvc如何实现向前台传递数据

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址