0
セッションオブジェクトの変更を検出したら、何かを行うためにjavascriptを使用しようとしています。しかし、私はUpdateServletを呼び出した後、javascriptはセッションオブジェクトの変更を検出しません。これらはすべて同じページで行われます(ページの更新はありません)JavascriptでJavaセッションオブジェクトをリフレッシュする
助けてください!ありがとう。
index.jspを
<%
//initial settings
session.setAttribute("dataUpdated", "false");
%>
<script>
$(function() {
var updates = '<%=session.getAttribute("dataUpdated")%>';
alert(updates);
//Shows false even after update
if (updates=="true"){
//alert("Updated");
}
});
</script>
UpdateServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
session.setAttribute("dataUpdated", "true");
//session object set to true
}
thats rights!ありがとう!さて、私はもう一つ問題があります、私は成功関数の後にセッションオブジェクトをfalseにリセットする必要があります。それ、どうやったら出来るの? (objectChanged){<%% session.setAttribute( "dataUpdated"、 "true")%>} の場合は試しましたが、うまくいきません。 AJAXをもう一度使用する必要がありますか? – newtodatatables
はい、もう一度ajaxが必要ですが、同じajax呼び出しでサーバー上のセッションオブジェクトをリセットする方がよいので、ロジックif(objectChanged)をサーバーに移動してください。 –
あなたは正しいです。サーブレット側でオブジェクトをリセットする方が良いでしょう。先端に感謝します。 – newtodatatables