2011-12-09 7 views
1

私はstrutsを使用してWebアプリケーションで作業しています。私はstrutsアクションクラスでいくつかの操作を実行しています。session.setAttributeを使用しています。結果の値を設定しています。私のstrutsアクションクラスは結果をJSPページに表示します。 jspページをロードした後にメッセージを表示する必要があります。したがって、jqueryを使用しようとしています。しかし、私はjqueryでHTTPセッションのリクエストを処理する方法を取得していません。jsperyを使用してjspページでhttpセッションリクエストパラメータを受け入れる

私はsturts-config.xmlで1つのプロパティを取得し、httpセッションリクエストパラメータを送信する代わりに値を設定していました。しかし、私は私のページをリフレッシュするたびにstruts-config.xmlから初期値を取るので、それは私のためには機能しません。私は書き込みで、JSPページの中に隠しフィールドとしてストラットプロパティを取っています:

 <html:hidden property="propname" styleId="id_propname" name="formname" /> 

プロパティ値はnullを設定するために私はjQueryのに次のコードを書いています。

<script type="text/javascript"> 
     $(document).ready(function() 
      { 
       alert("some text"); 
      $("#id_propname").val("");  
     });    
    </script> 

jqueryでhttpセッション要求を直接取得できる方法はありますか?いくつかの提案をすることができれば私に返答してください。

+0

jQueryはドキュメントの準備ができた後に実行され、httpヘッダーにアクセスできません。 jQueryがhttpリクエストを送信する場合、httpヘッダーにアクセスできます。 $ ajax()を使用しています。 – anderssonola

+0

怖いWombatの回答を参照してくださいhttp://stackoverflow.com/questions/26231513/how-to-access-java-session-object-through-javascript-stored-outside-of-jsp –

答えて

0

まあHTTPセッションとリクエストの形でjavaオブジェクトとサーブレットに関連して、サーバー側に住んでいます。一方、JQueryはクライアント側で「通常」生きています。したがって、問題の説明は少し「オフ」です。

httpsessionまたは/およびhttprequestで "送信"するパラメータは、jQueryがどの部分も再生しないjsp生成用です。ブラウザに送信されるのは、JSPエンジンによって生成されたHTMLです。このHTMLはブラウザー内にあるときにjQueryで使用できます。

ところで、フレームワーク名はStrutsではなくStrutsです。

この情報を考慮に入れて、実際に何をしたいのか分かりません。

+0

私の修正をありがとう。 – Toman

2

IMHOセッションをjqueryに渡す簡単な方法はありません。あなたができることは、いくつかの隠しフィールドの値を設定し、スクリプト上にグローバル変数を宣言し、値にアクセスして有効な条件があるかどうかをチェックすることです。

その醜いとJSP内のスクリプトレットを使用して非常に落胆、これはうまくいくかもしれないが、: - あなたのjqueryで

<% String sessionVal = session.getAttribute("yourSessionValue").toString() %> 
<html type="hidden" id="id_propname" name="propname" value=<%=sessionVal> > 

:セッションの

<script type="text/javascript"> 
    var sessionVal; 
    $(document).ready(function() 
     { 
      sessionVal = $("#id_propname").val(); 
      alert("this is the session value at Script " + sessionVal); 

    });    
</script> 

ヌルチェックは行われません。

それとも

あなたがフォームBeanにセッション値を設定し、JSPでこのようなものを使用することができますタグライブラリを使用している場合: -

<logic:equal name="yourFormBean" property="yourProperty" value="someDefinedValue"> 
Do your action here   
</logic:equal> <br /> 
+0

貴重な提案をありがとう。フォームBeanプロパティをnullまたはその初期値に設定する際に別の問題があります。 jqueryブロック内のフォームBeanプロパティをリセットする方法はありますか? – Toman

関連する問題