技术标签: Java org.apache.jasper.JasperExcept jsp Invalid directive Struts2
最近在搭建 struts2 项目的时候,运行启动后遇见了org.apache.jasper.JasperException: /success.jsp (line: 2, column: 4) Invalid directive 报错,具体报错信息如下:
Struts Problem Report
Struts has detected an unhandled exception:
Messages: •/success.jsp (line: 2, column: 4) Invalid directive
File: org/apache/jasper/compiler/DefaultErrorHandler.java
Line number: 42
Stacktraces
org.apache.jasper.JasperException: /success.jsp (line: 2, column: 4) Invalid directive
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:507)
org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1773)
org.apache.jasper.compiler.Parser.parse(Parser.java:135)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:237)
org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:119)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:660)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:742)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:484)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:157)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:314)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:
struts.devMode=false
in your WEB-INF/classes/struts.properties file.
根据该信息到 success.jsp 页面中仔检查,发现是在引入标签的时候出了问题(“taglib” 应该要小写,图中是大写),如下图:
将 “taglib” 改成小写即可。
文章浏览阅读409次。From below log is not easy to find the root reason ,any body know that ,thx2018-10-22 03:45:41 INFO 2018-10-22 03:45:41,651 Stage-2(job_1540003897972_375058) map = 100%, reduce = ...
文章浏览阅读1.2w次,点赞4次,收藏11次。目录前言CodeSandbox介绍多种模板代码选择VSCode一致体验运行Node容器CodeSandbox示例前言有时候需要经常写一些测试代码或示例,然后将这些代码分享给他人,少量的代码通过GitHub分享有点大材小用,而且他人要从GitHub上fork代码后,在本地用IDE打开,然后安装依赖、运行,这个步骤过于繁琐。因此使用在线代码编辑器就能解决上面说到的问题,CodeSandbox介绍我用过几个在线代码编辑器,如知名的CodePen,Jsfilddle和Jsbin也有使用过,对比起来,还是C_codesandbox
文章浏览阅读348次。对于一个富文本编辑器来说,图文混排是最基本的功能。而从上一篇文章中我们知道图文混排需要使用ImageSpan。下面这段代码摘自我的RichEditText源码:/*** 添加图片* @param filePath 图片文件路径*/public void addImage(String filePath) { SpannableString spannable = new SpannableS...
文章浏览阅读1.2k次。I Want To Spend My Lifetime Loving YouMoon so bright, night so fine, 月色如此明亮,夜晚如此美好Keep your heart here with mine 让你的心紧紧跟随着我Life’s a dream we are dreaming 梦中的生活是我们一直憧憬的Race the moon, catch the wind
文章浏览阅读676次。1、打开php.ini。找到 upload_max_filesize 、 memory_limit 、 post_max_size 这三个参数!(在默认的情况下,php只允许最大的上传数据为2M,也就是2048KB,而极限的最大使用内存memory_limit也仅为128M,Post的最大也为2M) 2、按您的服务器的实际性能配置进行如下改动:(注意:以下是按我的服务器性能有硬件配置进行的更改..)upload_max_filesi
文章浏览阅读7.7k次,点赞6次,收藏32次。1,微服务架构是什么很多做微服务的程序猿都很避讳SOA架构,谈起微服务必然和单体应用进行对比,好像不如此微服务架构就不高大上,不足以与有荣焉。然而,从单体分层应用到分布式架构,再到面向服务的架构,直到微服务架构,都是在前者的基础上为解决面临的问题而一步步发展而来,甚至于在解决问题的同时,也总是引入新的问题(比如技术复杂度越来越高),只有在有效解决引入问题后,新的架构风格才能体现其价值。..._微服务的核心思想
文章浏览阅读812次。传送门:【HDU】4735 Little Wish~ lyrical step~题目分析:对每个点dfs一次找到他能在不超过长度D内遍历到的节点,link一下,然后跑DLX算法,不断更新ans,ans的意义即在女孩位置上的男孩数。代码如下:
文章浏览阅读2.3k次。经验误差、泛化误差、测试误差经验误差,也叫训练误差,在训练集上的误差,与之对应的是泛化误差(generalization error,在新样本上的误差)。评估一个好的模型显然是泛化误差最小。但是实际上事先并不知道新样本是什么,所以实际能做的是最小化经验误差。经验误差也不能完全决定模型的泛化误差,会存在过拟合现象。书中简单说明了过拟合现象是各种学习算法不可避免的问题,只有“减缓”。这_我们通常将什么误差作为泛化误差的近似
文章浏览阅读852次。一、概述二、Single三、Completable四、Maybe五、Driver六、Signal七、ControlEvent一、概述任何序列都可以用Observable描述,创建序列 -> 订阅序列 -> 信号发送 -> 信号接收。Observable<Any>.create { (observer) -> Disposable in ..._controlevent
文章浏览阅读681次。《我的世界》12个地牢种子位置解析 2017-05-11 来源:Ali213 作者:佚名今天小编带来玩家分享的《我的世界》12个地牢种子位置解析,一起来看吧。中文名:12个地牢与现实地形种子英文名:12 Dungeons and Realistic Terrain Seed种子代码:4815162342适应版本:1.8.7/1.8.1/1.8.0《我的世界》地牢种子坐标介绍:使用这个种子你会出生在...
文章浏览阅读332次。分享一下我一年前端自学路上的学习笔记。若有侵权,请联系我,我立即删除或标明出处。CSS布局是每个前端开发工程师的基本功。下面我列出一些常见布局及解决方案。代码不完整,我只写出重要代码。水平居中布局//简单的写一下HTML结构<div class="parent"> <div class="child">水平居中布局</div>...
文章浏览阅读1k次。1.通用指令AT+CGMI厂家认证请求,返回模块厂家信息AT+CGMM模式认证请求,返回模块使用频段AT+CGMR修正认证请求,返回软件版本AT+CGSN查看产品IMEI序列号AT+CSCS选择TE特性设置AT+WPCS选择ME特性设置AT+CIMIIMSI认证请求,返回SIM卡的IMSIAT+CCID获得SIM卡标识AT+GCAP查看功能列表AT+CP