符还包含有关标记主体和属性的信息。
主体内容被声明为 scriptless,这意味着不能在 <u:eval> 和 </u:eval> 之间使用 Java 代码 (scriptlet)。如果标记不使用它的主体内容,则应指定 empty 而非 scriptless。请注意,对于标准标记,还可以指定 JSP,它允许在标记的主体中使用 Java scriptlet。基于简单标记 API 开发处理类时,必须将所有 Java 代码置于 Java 类中。 [Page]
util.tld 描述符为 <u:eval> 标记定义了四个属性:expr、type、var 和 scope。所有属性都被声明为可选(required 为 false)。expr 和 type 的值可以包含 JSP 表达式(rtexprvalue 为 true),但 var 和 scope 属性必须具有固定值(rtexprvalue 为 false)。
定制标记在 <taglib> 元素中描述,该元素包含版本号、短名称(前缀)和统一资源标识符 (URI)(不一定指示现有 Web 资源):
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<taglib xmlns=\"http://java.sun.com/xml/ns/j2ee\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=
\"http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd\"
version=\"2.0\">
<tlib-version>1.0</tlib-version>
<short-name>u</short-name>
<uri>http://otn.oracle.com/jsp/taglib/util.tld</uri>
<tag>
<name>eval</name>
<tag-class>jsputils.tags.EvalTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>expr</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute> &