2012-01-09 14 views
39

カスタムタグライブラリで作業していましたが、カスタムタグ属性を定義するために<required>タグと<rtexprvalue>タグがTLDファイルでどのように使用されているのか混乱しました。<required>と<rtexprvalue>は何に使用されていますか?

  1. これらのタグは、
  2. 私たちはそれらの間に何を書きますか?
  3. これらのタグを作成した後、どのような行動を取るのですか?
+0

https://docs.oracle.com/javaee/5/tutorial/doc/bnama.html#bnamh – user2418306

答えて

62

requiredは、それが言うことを非常に単純に暗示しています。属性は必須または必須です。

rtexprvalueは、ランタイム表現値を意味します。これは、属性がスクリプトレットの値をサポートできることを意味します。

elexprvalueは、EL(式言語)値をサポートできることを意味します。あなたはrequired=truertexprvalue=trueelattribute両方としてrequiredattrを定義しているのであれば

は、elexprvalue=trueのように定義され、次のように書くことができます。

<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/> 
+0

ありがとうございました。もう一度コードを参照して試してみてください! rtexprvalueをfalseにするとどうなるでしょうか? タグの間にtag-libファイルをどのように入力する必要がありますか? – bali208

+0

一般に、 'rtexprvalue'と' elexprvalue'は、taglibのユーザにランタイム値を提供させたくない場合にのみ、falseになります。私はいくつかのタグライブラリで 'id'属性が' false'と宣言されているのを見ました。 – adarshr

6

TLDで定義された<rtexprvalue>要素は、属性の動的挙動をキャプチャ。 の値はtrueまたはfalseのいずれかになります。動的列の偽の値は、 という属性に対して静的な文字列値のみを指定できることを意味します。真の値は、 要求時の属性値を指定できることを意味します。 JSP仕様で定義されているように、 「request-time属性値」は、Java式、EL式、 のいずれかの値のいずれかになります(<jsp:attribute>)。

要素は、ネスト属性が必須かオプションかを定義します。存在しない場合、デフォルトは「偽」です。つまり、属性はオプションです。

関連する問題