我需要使用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");
}
%>
你认为这是一种合理/可靠的做我需要的吗?性能不好吗?你怎么看待这件事?坚持下去或抨击那些代码?
谢谢!
答案 0 :(得分:1)
在您的情况下使用会话是可以的。 您需要记住的是,会话不是线程安全的,如果同一浏览器窗口中的另一个选项卡删除该属性,则用户将收到错误。
表现并不差。
如果您不想通过URL传递数据并且您正在使用yum install gcc-c++
,则会话范围对您来说是个不错的选择。