我使用response.sendRedirect()..隐藏参数的方法可以吗?

奥玛丹(Ommadawn)

我需要使用response.sendRedirect传递隐藏的参数(在某些情况下,我不希望使用转发)。

因为我不想使用GET参数,例如?par1 = val1&par2 = val2&...,所以我正在使用如下会话对象:

session.setAttribute("error_message", "Error: e-mail is null");
response.sendRedirect(targetURL);

并且在加载“ targetURL”(这将是一个JSP文件)时,我读取了该值,然后删除了该会话属性:

if(session.getAttribute("error_message") != null) {%>
   <h4><%=session.getAttribute("error_message").toString()%></h4> <%
   session.removeAttribute("error_message");
}
%>

您认为这是我需要的一种合理/可靠的方法吗?对性能不好吗?你怎么看待这件事?继续阅读还是破坏该代码?

谢谢!

安德鲁·里贝罗(Andrew Ribeiro)

可以在您的情况下使用会话。您需要记住的是,会话不是线程安全的,一旦在同一浏览器窗口中的另一个选项卡删除了该属性,则用户将得到一个错误。

这对性能来说还不错。

如果您不想通过URL传递数据并且正在使用,response.sendRedirect()则会话作用域对您来说是一个不错的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用response.sendRedirect()传递隐藏参数

如何使用response.sendRedirect将参数传递给JSP?

使用response.sendRedirect()时为Nullpointer

response.sendRedirect()显示错误

是否可以在没有调用response.sendRedirect(...)方法的情况下发送重定向?

jsp重定向url标签和response.sendRedirect()方法之间的区别

具有response.sendRedirect的JSTL

Servlet的sendRedirect()杀死了我的会话属性

使用可以吗?每个方法

Tomcat在使用sendRedirect时给出404

在JavaScript中使用名为“ arguments”的参数可以吗?

来自jsp:include的response.sendRedirect()是否被忽略?

为什么“ response.sendRedirect”不起作用?

使用mixins来实现抽象方法可以吗?

使用printf可以吗?

使用pageswitch可以吗?

response.sendRedirect()和request.getRequestDispatcher()。forward(request,response)有什么区别

response.sendredirect在外部应用程序中不起作用

从servlet的response.sendRedirect重定向到应该下载的pdf

在Java枚举中使用==可以吗?

在本地使用lambda可以吗?

使用LinearLayout代替FrameLayout可以吗?

使用模块命名空间,可以吗?

在Angular中使用getElementById可以吗?

使用JSoup登录网站,可以吗?

我可以在方法调用中使用null作为参数吗?

使用类的方法作为上下文管理器可以吗?

使用sendRedirect Struts 1.x时表单数据丢失

如何使用sendRedirect将多个数组从Servlet发送到JSP