问题:在请求中传递的参数在Action中跳转后丢失,使用request.getParameter方法获取为null
错误原因:调试法相Action中跳转使用了ActionForward的setRedirect(true)导致;相关代码如下
…
String actType = request.getParameter("actType");
String url = "/module/tdac/common/redirect_fail_.jsp";
TdacUrlIndexVo vo = getTdacUrlIndexDao().loadRecord(" ACT_TYPE=" + actType.trim());
url = vo.getDeleteUrl().trim() + getQueryString(request);
ActionForward af = new ActionForward(url);
af.setRedirect(true); //注释掉此句后可以解决
return af;
…
/**
* 获得地址参数
*
* @param request
* @return
*/
public String getQueryString(HttpServletRequest request) {
String result = "";
Enumeration parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
String name = (String) parameterNames.nextElement();
if (!name.equals("action")) {
result += "&" + name + "=" + request.getParameter(name);
}
}
return result;
}
解决方式:注释掉af.setRedirect(true);即可
小结:经过测试,返回前获取的url值包含了需要传递的值,但经过af.setRedirect(true);后,却无法获得(url的长度并没有超出限制),深入原因有待分析
分享到:
- 2009-09-14 15:45
- 浏览 2174
- 评论(3)
- 论坛回复 / 浏览 (3 / 4027)
- 查看更多
相关推荐
redirect-action 处理完后重定向到一个 action,请求参数全部丢失,action 处理结果也全部丢失。 Redirect-action 需要两次请求能完成的工作,请求转发只要通过一次请求即可完成。这样一来我们也就明白了为什么请求...
在实际开发中,当你需要从一个action跳转到另一个action并携带参数时,有多种方式可供选择: - **使用`redirect`与URL参数**: 如`<result name="success" type="redirect">/displayCart.action?userId=${userId}...
在本案例中,我们将深入探讨如何在访问网站时进行参数传递,并保持在页面跳转后参数不丢失。 首先,我们要理解URL(统一资源定位符)结构。URL通常由协议、主机名、路径和查询字符串组成,其中查询字符串用于传递...
- 数据丢失:由于是新请求,原始请求对象中的数据无法直接传递给目标资源。 - **应用场景**:适合于需要改变用户浏览器地址栏中的URL,或希望从一个请求跳转到另一个完全不同的请求时使用。 #### 三、客户端页面...
- 跳转过程中应处理好数据传递和生命周期管理,防止数据丢失或内存泄漏。 总结,"12.鸿蒙HarmonyOS App(JAVA) page的隐式跳转demo.rar" 提供了一个关于HarmonyOS中Java应用使用隐式跳转的实例,通过理解Intent过滤...
ASP.NET页面传递参数是Web开发中的重要环节,它涉及到页面间的通信和数据交换。下面将对标题和描述中提到的知识点进行详细说明。 1. **Get(QueryString)**: - **方式**:通过URL后面的查询字符串传递参数。 - ...
8. **HMR(热模块替换)**:Vuex 支持 Hot Module Replacement,在开发过程中,我们修改了 Store 中的状态或模块,浏览器会自动刷新,而不会丢失当前状态,提高了开发效率。 9. **生命周期和组件通信**:在 Vue ...
为了使`prepare()`方法能获取到表单提交的参数,需要在Action配置中添加`<interceptor-ref name="paramsPrepareParamsStack"/>`。 6. **表单提交与显示错误**:在JSP页面中,使用Struts2标签库如`<s:form>`和`...
- 实现订单数据传输时要注意参数格式的准确性,避免数据丢失或错误。 - 定期检查系统运行情况,确保接口稳定可靠。 综上所述,ecshop整合返利网CPS接口不仅有助于提升用户体验,还能有效提高业务效率,对于希望构建...
在ASP.NET MVC中,可以通过自定义路由规则来传递额外的参数,这些参数可以在控制器的Action方法中获取。 10. **PostBackUrl属性** PostBackUrl属性可以在控件(如Button)上设置,使得点击后直接跳转到指定URL,...
6. **Action类处理请求**:在Struts的Action类中,根据用户的请求参数(如当前页码)调用DAO的分页查询方法,并将结果封装到Page对象中。然后,将Page对象设置为Action的属性,以便在视图层进行渲染。 7. **视图...
在发送页面中,可以通过`Request.Redirect()`或`Response.Redirect()`方法附带查询字符串参数,如`Request.Redirect("Default2.aspx?username=honge")`。接收页面则可通过`Request.QueryString`集合获取这些参数。...
实际值监视是指持续监测系统中各个参数的实际值,并与设定值进行比较的过程。这种监视有助于及时发现偏差,并采取必要的纠正措施。 #### actuating signal(起动信号) 起动信号是指触发某个设备或系统开始工作的...
在支付宝的例子中,Struts2会解析用户提交的支付请求,转发到相应的Action,然后调用Spring管理的支付服务进行业务处理。同时,Struts2还可以用于构建支付结果的反馈视图,向用户展示支付状态。 **Hibernate框架**...
- 用户体验:防UC滑动功能可以提高用户体验,特别是在需要精细操作的应用中,如阅读、绘图或游戏等,用户不必担心不小心滑动导致页面跳转。 - 内容保护:在查看敏感信息或完成关键任务时,防止意外滑动可以确保用户...
接着,确认组件方法中this的上下文环境是否正确,避免使用不恰当的函数表达式造成上下文丢失。最后,要善于利用官方文档,通过阅读API的详细说明来帮助理解问题和寻找解决办法。只有通过不断地学习和实践,才能有效...
- 重定向:客户端地址栏中的URL会发生变化,需要重新发送HTTP请求,可能会丢失请求参数。 2. **EL表达式与Java代码结合使用**: - 在复杂的业务逻辑处理中,建议将数据处理放在Java后端代码中,通过`setAttribute`...
这种修改后的流程可以提高Zen-Cart系统的健壮性,避免由于网络或其他技术问题导致的订单丢失。同时,它也为用户提供了一种更灵活的支付体验,允许他们在方便时完成支付。在实施这些改动时,务必备份原有代码,并确保...
第二次请求是独立的,会丢失第一次请求中的属性和参数。 **5. Web容器的概念** Web容器是实现J2EE规范中Web层协议的软件环境,主要负责管理Web组件(如Servlets和JSPs)的生命周期、并发控制、安全性以及与Web...