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

时间:2015-10-22 07:54:18

标签: java jsp

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

A.jsp:

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

B.jsp:

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

2 个答案:

答案 0 :(得分:2)

当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"));
}

使用&#39; newjsp.jsp?param = xyz123&#39;调用它,然后尝试点击刷新。

答案 1 :(得分:1)

如果您不在网页上使用大图片,也可以删除缓存 用这些行

private WebElement element= driver.findElementByAccessibilityId("First element").findElementByAccessibilityId("Second element");