2012-04-20 5 views
0

に変数を渡し、セイ:Javascriptを - 私は成功したセッション変数の束を設定するJavaサーブレットを持ってsession.getAttribute

SessionVar1 SessionVar2 SessionVar3今

は、Javaスクリプトでは、私は読むことができます

var name = '<%= session.getAttribute("SessionVar1") %>';  
var name = '<%= session.getAttribute("SessionVar2") %>';  
var name = '<%= session.getAttribute("SessionVar3") %>';  

は、その後、私はdocument.writeを印刷NAME1、NAME2とNAME3呼び出しますと次のようなコードを使用してセッション変数を印刷します。

繰り返しますが、これは問題なく動作します。しかし、私は3つのセッション変数を持っていますが、100 ていない私はsession.getAttributeへ100回の呼び出しを記述する必要はありませんので、私はループ 「FOR」を使用してのセッション変数の名前にループカウンタを追加したいです検索する。

私は多くの組み合わせを試しましたが、session.getAttributeにパラメータを渡すことができません。私はJavascriptのパラメータがサーバーのコンテキストに存在しないことを理解していますが、 session.getAttributeを100回呼び出す必要がないようにする方法があるのだろうかと思いました。

ありがとうございます。もちろん

よろしく、

ガイ

答えて

1

ない - クライアントは任意のJavaScriptを実行する機会を持って前にスクリプトレット(boooo)が実行されます。

標準的なソリューションは、JavaのJS(好ましくは、タグを使用して)を生成することで、非常に大まか:

​​

注意点が(a)のEWこと、および(b)には、JavaScriptエスケープすべき属性は安全です。

これはまだgetAttribute 100回を呼び出します - あなたは、あなたが100回それを呼び出す(すでにコードのにおいをされ始めて)100セッション変数を必要としています。あなたの別の選択肢は、nameNNNもちょっと変わっているので、これをすべて配列に入れることです。理由のためにコレクションが存在します。

+0

+1:私はこのように2001年にこのような生産コードを見ました...人々はまだこのように考えることを知らなかった –

関連する問題