2012-01-02 16 views
0

私は、データベースの値を変更するフォームを持っています(true-> falseまたはfalse-> true)。 ボタンを押すと値が変更され、ユーザーは同じページにリダイレクトされますが、JSTLによって示された古い値はそのまま残ります。リクエスト後にフォームをリフレッシュするにはどうすればよいですか?

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

私にはサーバー側の問題のような音がします。あなたはそれが変更された後、または前に値を見ていますか? DBを変更してレスポンスをレンダリングするコードを貼り付けてください。 –

答えて

1

あなただけ示されている値を更新する必要があります:私はページ内のこれらの行を追加して試してみたが、働いていなかった

$ {name}の

<c:choose> 

    <c:when test="${is_active}"> 

    <form action="deactive.do" method="post"> 
     <input type="hidden" name="id" value="${id}"/> 
     <span style='color:red;'>active</span> - 
     <input type="submit" value="DEACTIVE" name="deactive"> 
    </form> 

    </c:when> 
    <c:otherwise> 

    <form action="active.do" method="post"> 
     <input type="hidden" name="id" value="${id}"/> 
     <span style='color:red;'>NOT ACTIVE</span> - 
     <input type="submit" value="ACTIVE" name="active"> 
    </form> 

    </c:otherwise> 
</c:choose> 

JSTLによって、セッション/ページ/リクエスト/アプリケーションスコープに存在する可能性があります。あなたもそれらを更新する必要がありますし、JSTLは更新された値を表示します

+0

すごい!私はセッション変数の値を更新することを忘れました! – Enrichman

関連する問題