Для чего они существуют и используются?
Я работал над пользовательскими библиотеками тегов, и меня смутило, как теги <required> и <rtexprvalue> используются в файле TLD для определения атрибута пользовательского тега.
- Что это за метки? Что мы должны написать между ними?
- какое поведение мы получаем после написания этих тегов?
2 ответа:
requiredдовольно просто подразумевает то, что он говорит. Атрибут является обязательным или обязательным.
rtexprvalueозначает значение выражения времени выполнения. Это означает, что атрибут может поддерживать значения скриптлета.
elexprvalueозначает, что он может поддерживать значения EL (язык выражений).Итак, если у вас
requiredattrопределено какrequired=trueиrtexprvalue=trueиelattributeопределено какelexprvalue=true, вы можете написать следующее:<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
Элемент
<rtexprvalue>, определенный в TLD, отражает динамическое поведение атрибута. То значение может быть как истинным, так и ложным. Ложное значение в динамическом столбце означает, что для атрибута можно указать только статическое строковое значение. Значение true означает, что можно указать значение атрибута request-time. Как определено в спецификации JSP, a "запрос времени значения атрибута" может быть либо выражение Java, выражение, эль, или значение, заданное a<jsp:attribute>.Элемент
<required>определяет, если атрибут вложенности является обязательным или необязательным. Если нет, то значение по умолчанию - "false", то есть атрибут необязателен.