2011-09-05 13 views
2

ある条件が満たされた場合、コンポーネントの条件付きCSSスタイルクラスを宣言したいことがよくあります。条件が満たされない場合は、スタイルを追加しないでください。EL条件式で空の結果を指定する好ましい方法は何ですか?

<some:tag styleClass="#{someCondition ? 'SomeClass' : null}" /> 

は、このOKです、またはいずれかの危険な落とし穴があるnullを持つことにあります。私は通常、この(これまでのところうまく働いている)のようにそれを行いますか?

答えて

2

危険な落とし穴はありません。 #{null}は、ELが応答に何も出力しないので、完全に問題ありません(基本的に空の文字列に評価されます)。

あなたはまた、時々、このスタイルを参照してください。

<some:tag styleClass="#{someCondition ? 'SomeClass' : ''}" /> 

これは以下のように、通常はプレーンなJavaコードで使用されているスタイルです:単純なJavaコードで

System.out.println(someCondition ? "SomeClass" : ""); 

Stringnullの変換がつながります"null"ではなく、""であり、これは望ましくない可能性があります。 ELに慣れていない人にとっては、上記のスタイルは実際にはもっと自己文書化しています。それ以外の場合は、のような質問が表示されます。

関連する問題