web-dev-qa-db-fra.com

À quoi servent <required> et <rtexprvalue>?

Je travaillais sur des bibliothèques de balises personnalisées et je ne savais pas comment le <required> et <rtexprvalue> les balises sont utilisées dans le fichier TLD pour définir un attribut de balise personnalisé.

  1. Quelles sont ces balises?
  2. Que devons-nous écrire entre eux?
  3. Quel comportement obtenons-nous après avoir écrit ces balises?
42
bali208

required implique tout simplement ce qu'il dit. L'attribut est obligatoire ou obligatoire.

rtexprvalue signifie valeur d'expression d'exécution. Cela signifie que l'attribut peut prendre en charge les valeurs de scriptlet.

elexprvalue signifie qu'il peut prendre en charge les valeurs EL (langage d'expression).

Donc, si vous avez requiredattr défini comme les deux required=true et rtexprvalue=true et elattribute est défini comme elexprvalue=true, vous pouvez écrire comme suit:

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

Le <rtexprvalue> L'élément défini dans un TLD capture le comportement dynamique d'un attribut. La valeur peut être vraie ou fausse. Une fausse valeur dans la colonne dynamique signifie que seule une valeur de chaîne statique peut être spécifiée pour l'attribut. Une valeur vraie signifie qu'une valeur d'attribut au moment de la demande peut être spécifiée. Comme défini dans la spécification JSP, une "valeur d'attribut au moment de la demande" peut être soit une Java, une expression EL, soit une valeur définie par un <jsp:attribute>.

Le <required> L'élément définit si l'attribut d'emboîtement est obligatoire ou facultatif. S'il n'est pas présent, la valeur par défaut est "false", c'est-à-dire que l'attribut est facultatif.

9