- 浏览: 1921529 次
- 性别:
- 来自: 福建莆田@广州
文章分类
最新评论
-
YuLimin:
关于开发者版本费用等问题请见:Have questions? ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
YuLimin:
1、传统WAS : WebSphere Application ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
chenlei65368:
咋加啊,总司令
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
kkllmey:
怎么进呢。留个群号吧。
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
Mr.TianShu:
3792274
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员
如何在Spring MVC中redirect到一个页面,同时带些信息过去进行显示,但是不通过Session方式及URL方式?
想用跟正常的ModelAndView方式,但是用了RedirectView过去是拿不到的 ,如:
只能用Session这种方式
或URL后面加信息
然后在页面获取进行显示?
有没有更好的方法?
想用跟正常的ModelAndView方式,但是用了RedirectView过去是拿不到的 ,如:
new ModelAndView(new RedirectView("xxx.do"),"modelName",modelMap);
只能用Session这种方式
request.getSession().setAttribute("msg",map);
或URL后面加信息
new ModelAndView(new RedirectView("xxx.do?msg=xyz");
然后在页面获取进行显示?
有没有更好的方法?
评论
11 楼
xzyxc2010
2013-03-18
我的笨方法是 传过来的值可以先从数据库中查一下,如果存在 就不走保存直接把需要的放到 model里面
10 楼
tufeiping
2012-12-20
如果是redirect,外部跳转,是无状态的,必须通过其他方式在服务器中保持状态。
9 楼
galaxystar
2006-09-20
表单重复提交的问题,不能直接用model来传了!只能用其他办法!
html的问题,没办法!
html的问题,没办法!
8 楼
sorphi
2006-09-20
post and redirect
想要在两个请求之间传递信息,除了session, url transfer之外,还有很多手段啊:
cookie
cache
database
file
...
就靠你权衡了
想要在两个请求之间传递信息,除了session, url transfer之外,还有很多手段啊:
cookie
cache
database
file
...
就靠你权衡了
7 楼
YuLimin
2006-09-20
区别在于F5不会现这个吧。
6 楼
simbasun
2006-09-20
看到你的view才明白,你原来是想做这个...:)
这种情况下,你不应该用redirect.
而应该直接用 new ModelAndView("viewName",Model);
为什么一定要用redirect呢?
这种情况下,你不应该用redirect.
而应该直接用 new ModelAndView("viewName",Model);
为什么一定要用redirect呢?
5 楼
YuLimin
2006-09-20
也就是无论用有modelName或无modelName的方式传递给ModelAndView,这些值是有都转化为URL进行表示了,只不过在页面上面无法通过通常的方式取得,如我用的JSTL 1.0.6标签:
或
<c:out value='${modelName}'/> <c:out value='${modelName.keyxxx}'/>
或
<c:out value='${keyxxx}'/>
4 楼
simbasun
2006-09-20
做了个测试, 证明我上面的判断是正确的...
而且也说明了,为什么你的方法拿不到正确的值
而且也说明了,为什么你的方法拿不到正确的值
package com.simba.test; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.RedirectView; public class TestRedirectView extends TestCase{ protected MockHttpServletRequest request = new MockHttpServletRequest("GET", ""); protected MockHttpServletResponse response = new MockHttpServletResponse(); public void testRedirect() throws Exception{ Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); //这种用法,map就是ModelAndView中的Model. ModelAndView mv = new ModelAndView(new RedirectView("/foo/bar.jsp"), map); //这里用getModel()与DispatcherServlet中用getModelInternal是一样的. mv.getView().render(mv.getModel(), request, response); assertEquals(response.getRedirectedUrl(),"/foo/bar.jsp?key1=value1&key2=value2"); } public void testWrongRedirect() throws Exception{ Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); //这种用法,map就是ModelAndView中Model的一个key/value对了... ModelAndView mv = new ModelAndView(new RedirectView("/foo/bar.jsp"), "model", map); //这里用getModel()与DispatcherServlet中用getModelInternal是一样的. mv.getView().render(mv.getModel(), request, response); assertTrue(response.getRedirectedUrl().contains("/foo/bar.jsp?model=")); } }
3 楼
simbasun
2006-09-20
in your controller:
then DispatcherServlet render the view with your modelMap:
没有测试过, 看了下spring mvc的source code.
从上面的代码来看,
是可以的...
你应该Debug一下, 看看model在什么地方丢了...
new ModelAndView(new RedirectView("xxx.do"),"modelName",modelMap);
then DispatcherServlet render the view with your modelMap:
DispatcherServlet.render(ModelAndView mv, HttpServletRequest request, HttpServletResponse response){ ... //call view's render method view.render(mv.getModelInternal(), request, response); } ... AbstractView.render(Map model, HttpServletRequest request, HttpServletResponse response){ ... //the model still here... renderMergedOutputModel(mergedModel, request, response); } RedirectView.renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response){ ... //Append query properties to the redirect URL. Here, the modelMap represented by url... appendQueryProperties(targetUrl, model, this.encodingScheme); //do redirect sendRedirect(request, response, targetUrl.toString(), this.http10Compatible); }
没有测试过, 看了下spring mvc的source code.
从上面的代码来看,
new ModelAndView(new RedirectView("xxx.do"),"modelName",modelMap);
是可以的...
你应该Debug一下, 看看model在什么地方丢了...
2 楼
galaxystar
2006-09-20
内部重新定向!用过滤器或者AOP,把当前的request覆盖掉要转向的controller里的request,然后执行那个controller,渲染页面!
那个页面就可以用你上一个controller里处理好的数据项了!(contriller里处理的atribute不能重名,否则就覆盖掉了)
或者适当改造spring mvc框架!
那个页面就可以用你上一个controller里处理好的数据项了!(contriller里处理的atribute不能重名,否则就覆盖掉了)
或者适当改造spring mvc框架!
1 楼
sorphi
2006-09-20
cookie?
发表评论
-
如何并行启动WAS应用服务器?而不是按顺序启动?
2022-06-14 16:07 481如何并行启动WAS应用服务器?而不是按顺序启动? 登录ISC ... -
关于图片文件旋转JPEG与EXIF信息
2019-10-30 21:44 1034关于图片文件旋转JPEG与 ... -
通过Liberty存储库下载保存组件,再分发并离线安装之操作步骤
2019-07-05 16:17 1021通过Liberty存储库下载保存组件,再分发并离线安装之操作步 ... -
Effective Java Third Edition中文版勘误列表
2018-10-24 01:03 2240相关资源: Eclipse JDK 9 ... -
Effective Java Third Edition中文翻译术语表讨论专用贴
2018-10-24 00:44 1982在书正式出来之前,把术语表放出来讨论。 翻译时的原则: 1 ... -
工作生活运动都不误!KUNG攻公路自行车2018款Horizon装备之
2018-09-08 18:12 2146感谢贺总,感谢KUNG攻,接下来就是准备开始对飙轻量级自行车与 ... -
WAS 8.5在HP-UX Itanium上无法图形化安装启动IIM之解
2013-11-11 17:20 3006继之前写的“WAS 8.5在AIX上无法启动图形化概要管理工具 ... -
IBM WebSphere Application Liberty Profile苗条瘦身之道初探及剖析
2012-08-12 19:57 34381.1 背景信息 IBM WebSphere Applicat ... -
停止启用了安全性的WAS Server而不手动输入密码之第二种选择
2011-05-07 23:08 4744停止启用了安全性的WAS Server而不手动输入密码之第二种 ... -
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布
2011-04-05 14:25 1927IBM WebSphere Application Serve ... -
WAS证书过期替换之独立WAS Server之文字操作版
2010-12-31 20:32 5853WAS证书过期替换之独立WAS Server之文字操作版 一 ... -
WAS证书过期替换之DM + NodeAgent + WAS Server网络拓扑结构之文字操作版
2010-12-31 20:28 3174WAS证书过期替换之DM + No ... -
通过配置文件来修改WAS控制台Session过期时间的方法
2010-06-17 18:21 4760通过配置文件来修改WAS控制台Session过期时间的方法 ... -
Tomcat 7之无需JDK只需JRE与无需web.xm及J2SE 6.0之真实与谎言?
2010-06-14 18:48 4597Tomcat 7之无需JDK只需JRE与无需web.xm及J2 ... -
《程序员 Java天下事,2010.01 低碳时代之Java风云》8卜被退稿
2010-06-12 10:47 2592这一篇《程序员 Jav ... -
IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布
2010-01-23 21:35 3209IBM WebSphere Application Serve ... -
IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布
2009-11-18 18:11 1910IBM WebSphere Application Serve ... -
隆重推荐《冒号课堂——编程范式与OOP思想》
2009-10-26 18:37 4043背景信息: 冒号课堂的系列博客质量相当高,有订阅此博客的X ... -
IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布
2009-10-10 11:50 1753IBM WebSphere Application Serve ... -
停个车真的不是一般的难ReentrantLock.lock之LockSupport.park
2009-07-17 16:41 3396今碰到一问题,原以为代码用上 ReentrantLock.lo ...
相关推荐
Spring MVC 是一个强大的Java web开发框架,用于构建高效、可维护和模块化的Web应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种结构化的方法来组织应用程序的逻辑。在这个实例中,我们将重点...
在Spring MVC框架中进行页面重定向操作时,可能会遇到因重定向导致的内存溢出问题。本文将详细介绍该问题的原因、原理以及解决方法。 #### 一、问题背景及原因分析 在Spring MVC中使用重定向功能时,可以通过`...
在Spring MVC中,可以通过返回一个String对象来实现重定向或转发。对于重定向,可以使用"redirect:"前缀;对于转发,则直接返回视图名称即可。 ``` // 重定向 public String handleRequest(HttpServletRequest ...
在Spring MVC中,注解是实现轻量级配置的关键元素,极大地简化了应用程序的搭建和维护。本篇文章将深入探讨Spring MVC中常见的注解及其应用实例。 首先,我们需要配置Web应用的基础环境,这通常通过`web.xml`文件...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在 Spring MVC 中,注解扮演着非常重要的角色,它们使得代码更加...
- **重定向**:在控制器方法中返回一个字符串"redirect:/url"。 - **转发**:返回一个视图名称,SpringMVC会自动进行转发处理。 ##### 3.3 SpringMVC怎么和AJAX相互调用的? SpringMVC支持通过AJAX进行异步请求处理...
在JSP开发中,Spring MVC项目常常用于构建复杂的Web应用程序。在某些应用场景中,为了确保账号安全,我们需要实现“单浏览器登录”功能,即同一个账号在同一时间只能在一个浏览器中保持登录状态。当用户在另一浏览器...
2. **Session**:服务器可以创建一个唯一的Session ID并发送给客户端,客户端通过这个ID在后续请求中标识自己。Spring MVC中,`HttpServletRequest.getSession()` 方法可用于获取或创建Session对象。 总结,Spring ...
在Spring MVC中,Controller类通常使用@Controller注解标识,并且可以包含多个处理请求的方法,这些方法通过@RequestMapping或其变体进行映射。 例如,假设我们有一个名为`UserController`的Controller类,我们可以...
在Spring MVC框架中,处理器(Handler)方法是处理用户请求的核心组件。这些方法通常定义在@Controller注解的类中,并通过@RequestMapping或其相关的注解来指定处理特定HTTP请求的路径。处理器方法的返回值非常关键...
设置一个简单的Controller,返回一个视图,然后在浏览器中访问,确认Spring MVC能够正常工作。 通过以上步骤,你已经成功地完成了hibernate和Spring MVC的配置整合。现在,你可以在这个基础上开发更复杂的Web应用...
这个注解的使用涉及到MVC模式中的Model层和View层的交互,是理解Spring MVC工作原理的重要一环。下面将详细阐述`@ModelAttribute`的用法、作用以及它在实际开发中的应用场景。 `@ModelAttribute`主要应用于两个场景...
在Spring MVC中,可以通过HttpServletRequest对象的getSession()方法获取Session,或者通过HttpSessionListener监听器进行全局Session管理。设置Session属性和值可以使用`session.setAttribute(String name, Object ...
在 Spring MVC 中,Session 是一种重要的概念,用于在多个相关请求之间存储用户状态信息。 在 Web 开发中,Session 是服务器端用来跟踪用户会话的一种机制。当用户打开浏览器访问网站并登录后,服务器创建一个 ...
在Spring MVC框架中,对`locale`(地区设置)和`theme`(主题)的支持是构建国际化和个性化用户界面的关键部分。这篇学习笔记将深入探讨这两个概念及其在实际开发中的应用。 1. **Locale(地区设置)支持** - `...
- JSP页面通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)从request或session中获取数据,并显示在页面上。 6. **优势与挑战** 使用Servlet实现MVC架构的优势在于其灵活性和可控...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
在这个例子中,`setSession`方法将`User`对象存入Session,而`getSession`方法则从Session中取出并显示用户信息。需要注意的是,Session数据存储在服务器端,占用服务器资源,因此不建议过度使用,尤其是在高并发...
33. **Spring MVC中的SessionAttribute和ModelAttribute注解的区别** - `@SessionAttribute`用于从HTTP会话中获取对象,而`@ModelAttribute`用于从请求中获取对象或将对象绑定到请求中。 34. **如何在Spring MVC中...
在 Web 开发中,参数传递中文乱码问题是一个常见的问题,特别是在使用 Spring MVC 框架时。这篇文章将详细介绍 Spring MVC 参数传递中文乱码解决方法,并提供了多种解决方案。 一、GET 方式中文乱码解决方案 在 ...