JSP:使用表达式作为tablib属性的值

时间:2011-08-13 22:05:18

标签: jsp taglib

我想创建自己的taglib,并将jsp变量作为属性值传递给taglib。

<%@ taglib uri =“/ WEB-INF / taglib.tld”prefix =“custom”%>

<%String myFilter =....; %>
<custom:printAllPeople filter="<%=myFilter%>" >

</custom:printAllPeople>

tld:

<taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>    
    <tag>
        <name>printAllPeople</name>
        <tagclass>jb.taglib.FilterPersonTagLib</tagclass>       
        <attribute>
            <name>filter</name>
            <required>true</required>           
        </attribute>                
        <info>print all people</info>
    </tag>
</taglib>

我得到了: org.apache.jasper.JasperException:/filterTagLib.jsp(第23行,第1列:根据标记文件中的TLD或属性指令,属性过滤器不接受任何表达式

如何将表达式用作属性值?

1 个答案:

答案 0 :(得分:1)

您需要在TLD属性中使用rtexprvalue:

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