使用F5 / reload刷新页面时如何删除参数值?预期的结果是当B.jsp将状态发送回A.jsp时我想在用户点击刷新页面时使值为空。
A.jsp:
<%String VALUE = request.getParameter("STATUS");%>
B.jsp:
<%send.responseRedirect("A.jsp?STATUS="Y");%>
答案 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");