Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在刷新页面时删除getParameter()值_Java_Jsp - Fatal编程技术网

Java 如何在刷新页面时删除getParameter()值

Java 如何在刷新页面时删除getParameter()值,java,jsp,Java,Jsp,如何在使用F5/reload刷新页面时删除参数值?预期的结果是,当B.jsp将状态发送回A.jsp时,如果用户点击刷新页面,我希望将该值设为空 A.jsp: <%String VALUE = request.getParameter("STATUS");%> B.jsp: <%send.responseRedirect("A.jsp?STATUS="Y");%> 当html页面发布到servlet/jsp或任何其他类型的web资源时,它包含一些标题。这些标头以及其

如何在使用F5/reload刷新页面时删除参数值?预期的结果是,当B.jsp将状态发送回A.jsp时,如果用户点击刷新页面,我希望将该值设为空

A.jsp:

<%String VALUE = request.getParameter("STATUS");%>

B.jsp:

<%send.responseRedirect("A.jsp?STATUS="Y");%>

当html页面发布到servlet/jsp或任何其他类型的web资源时,它包含一些标题。这些标头以及其他标头包含请求的参数。当用户在浏览器上点击刷新/f5时,浏览器所做的就是重新发布与以前相同的标题。因此,这个问题是特定于浏览器的

现在你可以用很多方法来解决这个问题。一种方法是将当前值存储在会话变量中,然后请求随请求参数一起出现,如果请求参数与会话属性值相同,则可以将其视为刷新操作

考虑newjsp.jsp的以下代码:

String param = request.getParameter("param");
if (session.getAttribute("PARAM") == null) {
    out.print("This is a NEW request");
    session.setAttribute("PARAM", request.getParameter("param"));
} else if (session.getAttribute("PARAM").toString().equalsIgnoreCase(param)) {
    out.print("This is a REFRESH");
    session.removeAttribute("PARAM");
} else {
    out.print("This is a NEW request");
    session.setAttribute("PARAM", request.getParameter("param"));
}

使用'newjsp.jsp?param=xyz123'调用它,然后尝试点击刷新按钮

如果不在网页上使用大型图像,也可以删除缓存 用这些线

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

您必须使用会话属性来存储您已经收到参数和/或使用servlet的事实。