java - 防止 JSP 缓存值

标签 java jsp caching struts-1

我在使用 JSP 时遇到缓存问题。我的应用程序由struts 和jsp 组成。 实际上,在我的应用程序中,struts 操作类和 JSP 页面用于添加和编辑数据。

发生的操作顺序如下:

  1. 用户登录应用程序
  2. 用户访问包含要填写的表单的 JSP 页面(PreNeed.jsp)。
  3. 用户填写详细信息并点击“保存”按钮。

现在假设用户已选中“预先需要服务”单选按钮并提交表单,如下图所示。

但是下次当用户尝试填写表单并单击“保存”按钮时,即使用户没有触及该部分,它也会自动尝试另存为“预先需要服务”。

我觉得页面正在缓存值。

我尝试将以下 scriplet 放入 JSP 页面中:

<%        
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
%>

但是没有成功。这段代码有具体的放置位置吗?

编辑: 这是我的 JSP 代码

<td id="_preneedStatus">
    <logic:notEqual name="preNeed" property="posted" value="1">
        <html:radio value="Active" name="preNeed" property="preneedStatus"/>
        <font face="Arial" size="2">Pre-Need Active</font><br>
    </logic:notEqual>
    <html:radio value="Serviced" name="preNeed"  property="preneedStatus"/>
    <font face="Arial" size="2">Pre-Need Serviced</font><br>
    <logic:equal name="accoutDescDisplay" scope="session" value="display">
        <font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Service Date:&nbsp;</font>
                <html:text size="10" name="preNeed" property="serviceDate" onblur="setDispositionDate();" onfocus="focusDateEdit(this);" />
                <fdms:FDMSDate fieldID="serviceDate1" javascriptFormField="document.forms[0].serviceDate"></fdms:FDMSDate>
        <br/>       
    </logic:equal>
    <logic:notEqual name="preNeed" property="posted" value="1">
        <html:radio value="Cancelled"  name="preNeed" property="preneedStatus"/>
        <font face="Arial" size="2">Pre-Need Cancelled</font>
    </logic:notEqual>
</td>

用于测试的浏览器: Firefox、Chrome

框架:Struts 1.2

服务器:Wildfly 9.0.1.Final(JBoss)

请指导我同样的事情。 enter image description here

最佳答案

我不确定到目前为止您实际尝试过什么,也不确定您正在使用什么浏览器,但是您是否在 JSP 文件中尝试过以下这些行:

<%
response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader ("Expires", -1); 
%>

这似乎是缓存问题的常见答案。但是,这很可能也会消除所有缓存,因此它可能不完全是您想要的。

来源:

关于java - 防止 JSP 缓存值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153367/

相关文章:

java hibernate : selecting the discriminator column in polymorphic hql query

java - 安卓谷歌分析 : set Mobile Device Info

java - 为什么要使用 App Engine 来完成如此简单的任务?

javascript - 如何在jsp中保留mysql的last_insert_id()

c# - Internet Explorer 缓存从数据库返回的数据

java - 如何基于java应用程序内存扩展aws ec2集群

java - 在 HTML 和 JSP 代码中显示图像

caching - redis 是否在达到最大内存限制时驱逐键或子键?

r - 为什么knitr缓存的data.table`:=`失败?

java - 使用循环获取 HashMap 值