Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

strutsのlogicタグについて

いつもお世話になっています。
初心者のozawaと申します。
初歩的な質問かもしれませんが、教えてください。
JSPにてstrutsのlogicタグを使用してボタンの出し分けを行いたいのですが、
<logic:equal parameter="hoge" scope="session" value="aaa">
 ※処理
</logic:equal>
と見よう見真似でこんな感じで記述しセッションから取得した値とvalue値を比較してボタンの切り替えを行いたいと思っているのですが、うまく動作してくれません。
セッションにhogeというkeyで値をセットをして、JSPでそのセットした値を取得するにはどうしたらいいのでしょうか?
よろしくお願いします。

5

回答

80529

閲覧

5件の回答

評価

0

>どうしたらいいのでしょうか?
の前に、どうやったかを出してみるのがいいかも。

評価

0

<logic:equal parameter="aaa" scope="session" value="hoge">
じゃだめですか?


http://paguchan.web.fc2.com/

評価

0

ご回答ありがとうございます。

まあさま→
JSPの記述は以下のとおりで
<logic:equal parameter="hoge" scope="session" value="aaa">
 ※閉じるボタン
</logic:equal>
<submit **** />
画面初期表示の際呼ばれるメソッドにてセッションに値をセットしています。
初期表示の際は閉じるボタンは表示されるのですが、submitボタンでなんらかの処理を行うと閉じるボタンが消えてしまいます。
デバックでsubmitの際呼ばれるメソッドを見てみるとセッションに値は保持されているのですが、JSPで認識してくれていないのか閉じるボタンが消えてしまいます。


paguchanさま→
<logic:equal parameter="aaa" scope="session" value="hoge">を記述してみましたが、やはりだめでした。
初期表示は大丈夫なんですが、なにか処理を行ってしまうとセッションの値が認識してくれないようです。

つたない説明で申し訳ありません。

評価

0

セッション自体は維持されてるんでしょうか?
維持されているのなら、そのセッション変数がどこかで上書きされてるとか。

評価

0

>デバックでsubmitの際呼ばれるメソッドを見てみるとセッションに値は保持されているのですが、

見てみたというメソッド内の位置はメソッドのどの辺りになるのでしょうか。
呼ばれた直後とか、再度そのJSPが呼ばれる直前とか。

たしかJSPで"hoge"や"aaa"を直接取り出すことはできますよね。
System.out.println式でもデバッグでもどちらでもいいですけど、JSPを呼び出す直前とか、呼ばれたJSPの中でどうなっているかは確認できないでしょうか。

まずその辺りから調べて、値が壊されているのだとすれば、何処で壊してしまっているかを絞っていけばいいと思いますけど・・位置決めから絞込みはバグ取りの基本ですけど。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。