java - org.apache.jasper.JasperException : java. lang.NullPointerException:找不到模块 'null'

标签 java jsp tomcat struts-1

我正在使用 Struts 创建 HelloWorld 示例并获取异常。

索引.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html:form>
Name : <html:text property="name"></html:text>
    <html:submit value="Click"></html:submit>

</html:form>

网络.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>HelloWorld</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>actionservlet</servlet-name>
        <servlet-class>org.apache.struts.actions.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>actionservlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>

HelloFormBackup.java

public class HelloFormBackup extends ActionForm{
    private String name;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }

    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {

        ActionErrors ae = new ActionErrors();
        if(name.equals("")){
            ae.add("name", new ActionMessage("msg"));   
        }
        return ae;
    }
}

消息.属性

msg=<font color='red'>  name is required.... </font>

HelloController.java

public class HelloController extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        String name = request.getParameter("name");

        request.setAttribute("result", "hello...."+name);

        return mapping.findForward("success");
    }
}

成功.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%= request.getAttribute("result") %>

当我使用 Tomcat 6 时出现异常

  org.apache.jasper.JasperException: java.lang.NullPointerException: Module 'null' not found.
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:723)


root cause 
java.lang.NullPointerException: Module 'null' not found.
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
    org.apache.jsp.index_jsp._jspx_meth_html_005fform_005f0(index_jsp.java:106)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

当我使用 Tomcat 7 时遇到异常

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 6

3: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4: <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
5: 
6: <html:form>
7: Name : <html:text property="name"></html:text>
8:  <html:submit value="Click"></html:submit>
9: 


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)



root cause 
java.lang.NullPointerException: Module 'null' not found.
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
    org.apache.jsp.index_jsp._jspx_meth_html_005fform_005f0(index_jsp.java:115)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:85)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

最佳答案

看来 jsp 引擎没有找到选项卡库。根据您使用的 struts 版本,您需要定义

<tablib-uri> 
<tablib-location>

在 web.xml 中或将 struts-tablib.jar 正确地放在您的项目目录中。请参阅此链接 http://www.mkyong.com/struts/configure-the-struts-tag-libraries/

关于java - org.apache.jasper.JasperException : java. lang.NullPointerException:找不到模块 'null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32662870/

相关文章:

Java 类型转换问题

java - 使用 Spring 注解读取文件属性

javascript - 无法在我的 JSP 中检索 JSON 响应

java - 网络服务中的客户详细信息

java - Spring 启动部署

java - NER斯坦福可以在java文件中调用吗?

java - 如何将 .cpp C++ native 库导入 Android Studio

java - 如何将 java 对象列表转换为 JSON 并通过 AJAX 显示它们

java - 在tomcat中手动解包 war 的问题

apache - JBoss 4.2.3 中的文件服务?