2012-02-27 1 views
1

struts 1プロジェクトでは、JSTLタグの出力値を使用してJSPページの入力ボックスの無効なプロパティを設定することで、何時間ものコードを節約しようとしています。残念ながら、以下では動作しません:empRightsのみまたは値を持つことができタグライブラリの出力を使用してJSPのHTML要素の値を設定することはできますか?

<html:text property="name" size="15" maxlength="50" disabled="${not empty empRights}"/> 

または

<html:text property="name" size="15" maxlength="50" disabled='<c:out value = "${not empty empRights}" />' />` 

を。これを達成するためにとにかくありますか? ありがとう

答えて

2

これを達成する方法はたくさんあります。 (のいずれも法的なことはありませんカスタムタグの任意のネストを、含まれていない。)

empRightsだけtrueまたはfalseすることができた場合は、空は奇妙と思われるためにそれをチェックします。最も簡単な値は、それに基づいて値を設定することですが、それは"disabled"または""(空)である必要があり、"true"/"false"ではありません。最も簡単には(JSP 2.0+コンテナを想定して)三元を使用することです:

${empRights ? 'disabled' : ''} 

(またはその逆;あなたはempty経由で達成しようとしていたかわからない。)

あるいは、別の変数を設定していることを使用します代わりに。

+0

私のjspの知識は最高ですが、私はすでにjspコーダーが空で達成しようとしていたことに疑問を抱いていましたが、彼の知識が私の代わりに私は彼の言葉を取った。 –

+0

htmlタグライブラリとhtml-elタグライブラリの違いをご存知ですか?あなたの提案を試しても、うまくいっていなかったし、タグをhtml-elに変更したのと同じように、最後に気をつけてみた。 –

+0

@ DarkStar1はい、ELライブラリはJSP EL式の使用を許可している。つまり、コンテナの設定が間違っているか、ELに対応していません。 –