What are <required> and <rtexprvalue> used for?

bali208 picture bali208 · Jan 9, 2012 · Viewed 40.5k times · Source

I was working on custom tag libraries and I was confused how the <required> and <rtexprvalue> tags are used in the TLD file to define a custom tag attribute.

  1. What are these tags?
  2. What should we write in-between them?
  3. What behavior do we get after writing these tags?

Answer

adarshr picture adarshr · Jan 9, 2012

required quite simply implies what it says. The attribute is required or mandatory.

rtexprvalue means Runtime Expression Value. It means the attribute can support scriptlet values.

elexprvalue means it can support EL (expression language) values.

So, if you have requiredattr defined as both required=true and rtexprvalue=true and elattribute is defined as elexprvalue=true, you can write as follows:

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