Для чего используются <required>и <rtexprvalue>? - PullRequest
42 голосов
/ 09 января 2012

Я работал над библиотеками пользовательских тегов, и меня смутило, как теги <required> и <rtexprvalue> используются в файле TLD для определения атрибута пользовательского тега.

  1. Что это за теги?
  2. Что нам писать между ними?
  3. Какое поведение мы получаем после написания этих тегов?

Ответы [ 2 ]

70 голосов
/ 09 января 2012

required довольно просто подразумевает то, что говорит.Атрибут является обязательным или обязательным.

rtexprvalue означает значение выражения времени выполнения.Это означает, что атрибут может поддерживать значения скриптлета.

elexprvalue означает, что он может поддерживать значения EL (язык выражений).

Итак, если у вас requiredattr определено как required=true, так иrtexprvalue=true и elattribute определены как elexprvalue=true, вы можете написать следующее:

<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
9 голосов
/ 18 марта 2013

Элемент <rtexprvalue>, определенный в TLD, фиксирует динамическое поведение атрибута.Значение может быть либо true, либо false.Ложное значение в динамическом столбце означает, что для атрибута может быть указано только статическое строковое значение.Истинное значение означает, что может быть указано значение атрибута времени запроса.Как определено в спецификации JSP, «значение атрибута времени запроса» может быть выражением Java, выражением EL или значением, установленным <jsp:attribute>.

Элемент <required> определяет, является лиАтрибут вложенности является обязательным или необязательным.Если он отсутствует, то по умолчанию используется значение «false», т. Е. Атрибут необязательный.

...