- - PR -
[JSP]条件分岐によりコードを実行させたくない場合
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-07-07 14:19
こんにちわ。
以下のようなケースの場合どのようにすればスマートか困っています。 [ケース1] Aという変数がnullだった場合、テキストボックスを表示しない [解]
上記ではなんら困りません。 では以下は? [ケース2] Aという変数がnullだった場合、テキストボックスを表示しない。 Aという変数がnullでない場合、テキストボックスを表示し、かつ テキストボックスにはBの変数値が表示されている。 [解]
こうなるのですが、これではダメみたいで困っています。 何がダメかというと、Aがnullの場合でも<%= B %>というコードが 実行されてしまうからです。 そうするとHTMLソースとして B"> というように、<%= B %>以降が処理されこちらの意図しない結果となります。 [ケース2]で挙げているようなケースではどのように対処するのでしょうか? | ||||||||
|
投稿日時: 2003-07-07 14:38
<% if ( A != null ) { %>
<input type="text" name="name" value="<%= B %>"> <% } %> | ||||||||
|
投稿日時: 2003-07-07 14:50
ここは素直に・・・
<% if (A != null){ out.print ("<input type=\"text\" name=\"name\" value=\"" + B + "\">"); } %> 却下でしょうか?(苦笑)。 [ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-07-07 14:54 ] | ||||||||
|
投稿日時: 2003-07-07 14:57
ジュニア様 Ken-Lab様
ありがとうございます。 僕が、JSPが吐くjavaコードをしっかりと理解していなかった ことがそもそもの原因だったようですね。。 普通に1行しか頭にありませんでした。 ジュニア様の記述のようにすれば難なく期待通りの処理になりました。 # 実際のjavaコードは複数行なんですよね・・。 # 失礼しました。。 JSP = 実体はservletということが頭にしっかりないとダメですね。 | ||||||||
1
