将表达式传递给JSP中的自定义标记

时间:2012-06-06 14:41:35

标签: jstl jsp-tags custom-tag

您好我刚刚在JSP中创建了自定义标记 标签的.tld就是这样的

<?xml version="1.0" encoding="UTF-8"?>
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>acma</shortname>
<info>AccountManag</info>
<tag>
    <name>clookup</name>
    <tagclass>taglib.acm</tagclass>
    <info>Customer Lookup</info>
    <attribute>
      <name>cust_id</name>
      <required>true</required>
    </attribute>
</tag>
</taglib>

现在,当我使用像这样的int值时,标签工作得很好 的cust_id = “1”

  <dd:clookup cust_id="1"></dd:clookup>

但是当我使用EL时它不起作用。就像

一样
 <dd:clookup cust_id="${sessionScope.cust.id}"></dd:clookup>

所有教程都以int或其他数据类型开头,所以我无法找到任何可能有用的资源..任何建议?

2 个答案:

答案 0 :(得分:18)

在您的tld中指定rtexprvalue

<attribute>
  <name>cust_id</name>
  <required>true</required>
  <rtexprvalue>true</rtexprvalue>
</attribute>

有关详细信息,请参阅Tag Library Descriptors

答案 1 :(得分:0)

您的EL需要用引号括起来。