J*Z

博客园 首页 联系 订阅 管理

前些天在做项目时碰到的错误:HTTP Status 500 - <h3>Validation error messages from TagLibraryValidator for c in /admin/userlist.jsp</h3><p>136: Illegal text inside "c:choose" tag: ">...".</p>

 1 org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c in /admin/userlist.jsp</h3><p>136: Illegal text inside "c:choose" tag: ">...".</p>
 2     at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
 3     at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
 4     at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
 5     at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1905)
 6     at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1851)
 7     at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:218)
 8     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
 9     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
10     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
11     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662)
12     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)
13     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
14     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
15     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
16     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
17     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
18     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
19     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
20     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
21     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747)
22     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485)
23     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:410)
24     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
25     at cn.sxt.admin.UserList.doGet(UserList.java:43)
26     at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
27     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
28     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
29     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
30     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
31     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
32     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
33     at cn.sxt.filter.All.doFilter(All.java:43)
34     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
35     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
36     at cn.sxt.filter.AdminAuth.doFilter(AdminAuth.java:75)
37     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
38     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
39     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
40     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
41     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
42     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
43     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
44     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
45     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
46     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
47     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
48     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
49     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
50     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
51     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
52     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
53     at java.lang.Thread.run(Unknown Source)

然后发现是因为</c:when>>多了个“>”,代码:

1 <c:choose>
2     <c:when test="${item.isadmin==1}">
3     <span class="layui-btn layui-btn-normal layui-btn-xs">是</span>
4     </c:when>>
5     <c:otherwise>
6     <span class="layui-btn layui-btn-normal layui-btn-xs">否</span>
7     </c:otherwise>
8 </c:choose>

解决办法很明显,去掉这个多余的">"的就好。然而有意思的是,我在</c:otherwise>的后面也加了个">",启动服务并没有报错,程序依然会正常运行!

posted on 2019-07-11 20:46  J*Z  阅读(1095)  评论(0)    收藏  举报