java – Spring MVC将属性设置为request / model / modelMap
发布时间:2020-12-14 16:38:47 所属栏目:Java 来源:网络整理
导读:我使用 Spring MVC.我需要添加属性到请求或其他对象.它应该是将显示在屏幕上的消息.例如,如果我使用纯Servlet我可能只是: request.setAttribute("message","User deleted"); 而不是在JSP页面上 div id="message"${message}/div 但是当我在方法中尝试这样做
我使用
Spring MVC.我需要添加属性到请求或其他对象.它应该是将显示在屏幕上的消息.例如,如果我使用纯Servlet我可能只是:
request.setAttribute("message","User deleted"); 而不是在JSP页面上 <div id="message">${message}</div> 但是当我在方法中尝试这样做时: @RequestMapping(value = "/delete",method = RequestMethod.GET) public String deleteUser(@RequestParam("login") String login,ModelMap map,HttpServletRequest request) 模型对象 – model.addAttribute("message","User deleted"); 地图 – map.put("message","User deleted"); ModelMap – map.put("message","User deleted"); HttpServletRequest – request.setAttribute("message","User deleted"); 没有显示.但在我的浏览器中,我看到:http:// localhost:8081 / project / index?message =用户删除 如何解决这个小问题? 更新: 为了清楚的理解,我试图这样做: @RequestMapping(value = "/delete",Model model) { dao.delete(login); // there is NO exeptions map.addAttribute("message","User " + login + " deleted"); return "redirect:" + "index"; } 在我的JSP中,我也以这种方式显示用户登录: ${user.login} 它需要用户从会话,我看到它登录 解决方法
使用您的新信息,问题是重定向:.当您进行重定向时,您将发送一个具有302(或301)响应代码的HTTP响应,“位置”标题指向新的URL.浏览器会向该位置发出新的HTTP请求.因此,您的请求属性(和模型属性)不再是好的,它们不存在于新请求中.
考虑使用flash属性. RedirectAttributes类是要走的路. The javadoc has a good example. 在请求处理过程中,Model属性将被稍后添加到请求属性中.因此,您不会直接看到它 @RequestMapping(value = "/delete",HttpServletRequest request) map.put("message","User deleted"); String message = (String) request.getAttribute("message"); // will return null ... } 只是相信它最终将在请求属性中,因此可以在你的jsp中使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- JPA / hibernate时间戳未保存在数据库/对象实体中
- Java编程实现邻接矩阵表示稠密图代码示例
- 如何在Eclipse RCP应用程序中使用java.lang.instrument?
- java – 使用Tomcat手动部署webapp(即autoDeploy = false,
- java – spring data redis master slave config
- 读取xml文件中的配置参数实例
- WAS 6.1 java.lang.VerifyError:违反了类加载约束
- WebSocket实现简单的web聊天室
- java 重定义数组的实现方法(与VB的ReDim相像)
- 在本地资源上同步时Java死锁?