2014-10-31 20 views
0

我犯了一個自定義標籤使用JSTL 它有J_crypto.decrypt我在JSTL做自定義標籤,並投擲陌生的例外幫我

這是聲明

<%@ taglib uri="/resources/tld/util.tld" prefix="util"%> 

,這是我的TLD文件

<function> 
     <name>jcrypto</name> 
     <function-class>com.dabin.confirm.util.PhoneManager</function-class> 
     <function-signature> 
      java.lang.String jcrypto(java.lang.Integer, java.lang.String) 
     </function-signature> 
    </function> 

的Java

public static String jcrypto(String seq, String number){ 
     return J_Crypto.decrypt(Integer.parseInt(seq.split("-")[1]), number); 
    } 

我用這樣

${util:jcrypto(dto.work_cnum, dto.deb_nm)} 

我想,這一定激活,但拋出的異常

10월 31, 2014 10:16:01 오전 org.apache.catalina.core.StandardWrapperValve invoke 
심각: Servlet.service() for servlet appServlet threw exception 
org.apache.jasper.JasperException: Method "jcrypto" for function "jcrypto" not found in class "com.dabin.confirm.util.PhoneManager" 
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) 
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) 
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:181) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor$1MapperELVisitor.visit(Validator.java:1682) 
    at org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:131) 
    at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:206) 
    at org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:248) 
    at org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:56) 
    at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:206) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor.getFunctionMapper(Validator.java:1691) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1559) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:721) 
    at org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:958) 
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:866) 
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) 
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) 
    at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:866) 
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) 
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) 
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417) 
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:495) 
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1782) 
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) 
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) 
    at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:653) 
    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:647) 
    at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:103) 
    at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:96) 
    at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44) 
    at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106) 
    at org.apache.tiles.renderer.impl.ChainedDelegateAttributeRenderer.write(ChainedDelegateAttributeRenderer.java:76) 
    at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:336) 
    at org.apache.tiles.template.InsertAttributeModel.renderAttribute(InsertAttributeModel.java:210) 
    at org.apache.tiles.template.InsertAttributeModel.end(InsertAttributeModel.java:126) 
    at org.apache.tiles.jsp.taglib.InsertAttributeTag.doTag(InsertAttributeTag.java:311) 
    at org.apache.jsp.WEB_002dINF.views.template.work_jsp._jspx_meth_tiles_005finsertAttribute_005f4(work_jsp.java:194) 
    at org.apache.jsp.WEB_002dINF.views.template.work_jsp._jspService(work_jsp.java:100) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) 
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241) 
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222) 
    at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44) 
    at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:690) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:644) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:627) 
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321) 
    at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124) 
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:263) 
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208) 
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:745) 

我不知道什麼是錯 這個TLD文件有另一種方法2 但它不物。 我相信這條道路是正確的。

我爲我的英文不好

回答

2

的功能的簽名遺憾不在tld文件相同,並在Java代碼。

tld文件:

String jcrypto(Integer, String) 

在Java代碼:

String jcrypto(String, String) 
+0

太感謝你了T^T – developupupup 2014-11-03 02:29:01

相關問題