2015-12-08 2 views
0

Перед началом работы с JSP я столкнулся с проблемой кэширования. Мое приложение составлено из struts и jsp. Практически в моем приложении struts action class и JSP-страница используется для добавления и редактирования данных.Предотвращение JSP от значений кеширования

Последовательность действий, которая имеет место, являются следующие: Войти

  1. пользователя в приложение
  2. пользователь посещает страницу JSP (PreNeed.jsp), содержащий форму для заполнения.
  3. Пользователь вводит информацию и нажимает кнопку сохранения.

Теперь предположим, что пользователь установил радиоприемник «Предварительная необходимость» и отправил форму, как показано ниже.

Но в следующий раз, когда пользователь идет и пытается заполнить форму и нажимает кнопку «Сохранить», она автоматически пытается сохранить как «Предварительно необходимое обслуживание», даже если пользователь не коснулся этой секции.

Я чувствую, что страница является кешированием значений.

Я пытался ставить ниже скриптлета в JSP странице:

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

Но не сработало. Есть ли какая-то конкретная позиция, которую должен поставить этот код?

EDIT: Вот мой код 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

Framework: Struts 1.2

Сервер: Wildfly 9.0.1 .Final (JBoss)

Просьба направить меня на то же самое. enter image description here

+0

Я думаю, вы должны создать конструктор или сбросить метод, как заданные по умолчанию для этой страницы –

+0

Каких распорок версии? Покажите свой код. –

+0

@AleksandrM распорка версия 1.2 –

ответ

0

Я не уверен, что вы на самом деле пробовали до этого момента, и я также не уверен, в каком браузере вы работаете, но вы пробовали что-либо в этом направлении в вашем JSP-файле:

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

Это, кажется, общий ответ на вопросы кеширования. Тем не менее, это, скорее всего, также избавит вас от кэширования, так что это, вероятно, не совсем то, что вы ищете.

Источники:

+0

есть ли какая-либо конкретная позиция на странице JSP, этот код необходимо разместить? –

+0

Я бы не догадался, так как ответ не будет отправлен обратно до тех пор, пока весь JSP не будет визуализирован. Для большей ясности это может иметь смысл в верхней части документа. – Mike

+0

Возможно, вы захотите прочитать этот маленький блог тоже на [_cache control headers_] (http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/). Мог бы сделать все это немного яснее. – Mike