首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSTL: TLD中函数签名的语法无效

JSTL: TLD中函数签名的语法无效
EN

Stack Overflow用户
提问于 2013-03-01 05:06:31
回答 2查看 2.6K关注 0票数 0

我正在尝试在myTld.tld文件中定义一个函数,如下所示

代码语言:javascript
复制
<?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脚本中,我像这样调用

代码语言:javascript
复制
<%@ taglib prefix="customFunctions" uri="/WEB-INF/tags/myTld.tld"%>
${customFunctions:isActive()}

每次我这样做,我都会得到

代码语言:javascript
复制
Invalid syntax for function signature in TLD.  Tag Library: customFunctions, Function: isActive
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-01 07:15:42

变化

代码语言:javascript
复制
<function-signature>boolean isActive()</function-signature>

代码语言:javascript
复制
<function-signature>java.lang.Boolean isActive()</function-signature>

还要将<description>my Desc</description>更改为一行。这也可能是(也可能不是)一个问题。

票数 1
EN

Stack Overflow用户

发布于 2013-03-02 06:46:28

关于函数签名似乎没有问题。描述可以分成多行,只要它们在正确的标签结构中闭合即可。甚至返回类型也可以作为原语给出。

但还是要感谢你的支持。我只是试了几个小时后,同样的事情,它运行成功。不确定为什么Tomcat会给我奇怪的错误(即使在多次编译和重新部署之后)。虽然我觉得Tomcat应该更聪明一点,当它说签名是wrong.The时,tomcat日志也没有给我任何其他信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15145640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档