作業中のサーブレットに問題があります。Java と JQuery Mobile を使用し、weblogic にデプロイされた、Spring フレームワーク上のモバイル デバイス用のサイトです。サイト内のアプリに同じ jsp を使用しますが、ユーザーの役割が異なる場合やログインしているユーザー、ログアウトしているユーザーなどでは異なる場合があります。ログインしてアプリのボタンをクリックすると、正しく表示されます。たとえば、間違ったフォームを送信すると、エラー メッセージを含む div が一番上に表示されます。ホームをクリックし、ログアウトするかどうかに関係なく、もう一度ボタンをクリックすると、ページがキャッシュされ、エラーが引き続き表示されます。アドレスバーに自分でリクエストを入力した場合にのみ、コントローラーに再度アクセスすることはありません。
何が問題になるのでしょうか?これが問題のように思われるため、 no-cache およびブラウザのキャッシュを無効にする他のソリューションで response.setHeader を試しましたが、どれも機能しないようです。
私のアプリは次のように流れます: ホームページのボタンがクリックされると、リクエストはあなたがログインしているかどうかを確認するコントローラを呼び出し、次のような jsp を返します:
@RequestMapping(value ="/recharge",method = RequestMethod.GET)
public String render(org.springframework.ui.Model model, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
---- do some checks ----
return "recharge"
}
次に、jsp がロードされると、何を表示/非表示にするかを知るために必要なパラメーターが含まれます。jsp で送信すると、別の関数に移動し、いくつかの操作が実行されます。、次にいくつかの URL パラメータを含む同じ jsp を返します。
アプリへのすべてのリンクは次のようになります。
<a href = <c:url value="/mobilesite/recharge"/>
これは、JSP でフォームを送信した場合にのみ発生するようです (URL が変更されます)。ただし、これらのパラメーターが必要なので、失うことはできません。しかし、ユーザーがページを離れてもう一度クリックしてアプリに移動すると、すべてのレンダリング部分が再度計算されます。どうすればこれを乗り越えることができますか?
前もって感謝します !
編集: リンクがクリックされても Firebug はリクエストを表示しません。