我正在尝试在myTld.tld文件中定义一个函数,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
<tlib-version>1.0</tlib-version>
<short-name>customFunctions</short-name>
<uri>/WEB-INF/tags/myTld.tld</uri>
<function>
<description>
my Desc
</description>
<name>isActive</name>
<function-class>com.Functions</function-class>
<function-signature>boolean isActive()</function-signature>
</function>
</taglib>在El脚本中,我像这样调用
<%@ taglib prefix="customFunctions" uri="/WEB-INF/tags/myTld.tld"%>
${customFunctions:isActive()}每次我这样做,我都会得到
Invalid syntax for function signature in TLD. Tag Library: customFunctions, Function: isActive发布于 2013-03-01 07:15:42
变化
<function-signature>boolean isActive()</function-signature>至
<function-signature>java.lang.Boolean isActive()</function-signature>还要将<description>my Desc</description>更改为一行。这也可能是(也可能不是)一个问题。
发布于 2013-03-02 06:46:28
关于函数签名似乎没有问题。描述可以分成多行,只要它们在正确的标签结构中闭合即可。甚至返回类型也可以作为原语给出。
但还是要感谢你的支持。我只是试了几个小时后,同样的事情,它运行成功。不确定为什么Tomcat会给我奇怪的错误(即使在多次编译和重新部署之后)。虽然我觉得Tomcat应该更聪明一点,当它说签名是wrong.The时,tomcat日志也没有给我任何其他信息。
https://stackoverflow.com/questions/15145640
复制相似问题