为什么NullPointerException会出现在index.jsp文件中< s:a>标记不起作用

khbbv19g  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(63)
HTTP Status 500 – Internal Server Error

Type Exception Report

Message An exception occurred processing [/index.jsp] at line [31]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/index.jsp] 

Root Cause

java.lang.NullPointerException
    org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:40)
    org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:40)
    org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
    org.apache.jsp.index_jsp._jspx_meth_s_005fa_005f0(index_jsp.java:300)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:173)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

字符串
注意服务器日志中提供了根本原因的完整堆栈跟踪。Apache Tomcat/9.0.80
我无法找到确切的原因NullPointerException来。在index.jsp文件中,<s:a>标记无法正常工作,它显示
org.apache.碧玉.JasperException:处理时发生异常。
如何使这个标记工作,使NullPointerException不会发生。

jm2pwxwz

jm2pwxwz1#

在JSP中你已经使用了Struts标签。他们需要使用一个运行的Struts过滤器。也不要使用直接访问JSP。你使用的是Tomcat作为应用服务器。它默认配置为使用index.jsp作为欢迎页面,并在Tomcat中默认由servlet提供服务。这里甚至不涉及Struts。所以,Struts标签将无法工作。
在后台,如果您查看stacktrace,您将看到<s:a>标记试图从action上下文获取值堆栈,但它是null,因为请求不是由Struts过滤器提供的。
你需要的是学习Struts应用程序的基础知识。这里有一个来自Struts入门文档How to create Struts 2 Web application的示例教程。特别是第5节,你可以看到Struts过滤器的配置。

相关问题