我需要使用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");
}
%>
您认为这是我需要的一种合理/可靠的方法吗?对性能不好吗?你怎么看待这件事?继续阅读还是破坏该代码?
谢谢!
可以在您的情况下使用会话。您需要记住的是,会话不是线程安全的,一旦在同一浏览器窗口中的另一个选项卡删除了该属性,则用户将得到一个错误。
这对性能来说还不错。
如果您不想通过URL传递数据并且正在使用,response.sendRedirect()
则会话作用域对您来说是一个不错的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句