ERROR:Invalid syntax for function signature in TLD


报错的log

严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Invalid syntax for function signature in TLD.  Tag Library: 某某某, Function: xxxx
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:165)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.getMethod(Validator.java:1643)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.processSignature(Validator.java:1630)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.access$400(Validator.java:418)
	at org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1606)
	at org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:139)
	at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:214)
	at org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:256)
	at org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:61)
	at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:214)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.validateFunctions(Validator.java:1610)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.getJspAttribute(Validator.java:1381)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1231)
	at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:876)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2450)
	at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1845)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:218)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
	at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:240)
	at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:578)
	at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:49)
	at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:655)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:659)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:659)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:659)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2450)
	at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:673)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:230)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
	at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:240)
	at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:578)
	at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:49)
	at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:655)
	at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
	at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2450)
	at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
	at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:673)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:230)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)


错误的.tld文件 function:encodeUrl

<function>
		<description>
			Encodes given URL
		</description>
		<name>encodeUrl</name>
		<function-class>xx.xxxxx.xxxxxx.xxxxxxxxxx.tags.Functions</function-class>
		<function-signature>java.lang.String
                                  encodeUrl(java.lang.String)</function-signature>
	</function>


修改后的 function

        <function>
		<description>
			Encodes given URL
		</description>
		<name>encodeUrl</name>
		<function-class>xx.xxxxx.xxxxxx.xxxxxxxxxx.tags.Functions</function-class>
		<function-signature>java.lang.String encodeUrl(java.lang.String)</function-signature>
	</function>


对不发现function 

1.错误的

<function-signature>返回值类型 

                                方法名(参数)</function-signature>

2.改正后的

<function-signature>返回值类型 方法名(参数)</function-signature>

来function-signature标签里面,函数声明跟返回类型必须在同一行,都是习惯Ctrl+Shift+F惹的祸





转载于:https://my.oschina.net/penfin/blog/620928

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值