この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:guest
更新日時:2018-04-01 07:41:17

タイトル: java.lang.NullPointerException: Module 'null' not found

この記事の要点
  • Struts の NullPointerException: Module 'null' not found
  • 原因: JSP の Struts タグが ActionServlet を経由していない(直接 JSP にアクセスした)
  • 対処1: struts-config.xml でアクションマッピング経由で JSP を表示
  • 対処2: web.xmlwelcome-file を action にする

 

エラー内容

java.lang.NullPointerException: Module 'null' not found.
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
    org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:364)
    org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:285)
    org.apache.struts.taglib.logic.RedirectTag.generateRedirectURL(RedirectTag.java:289)
    org.apache.struts.taglib.logic.RedirectTag.doEndTag(RedirectTag.java:268)
    org.apache.jsp.index_jsp._jspx_meth_logic_005fredirect_005f0(index_jsp.java:159)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:121)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 

発生条件と原因

発生条件はいくつかあるかもしれないが、以下一例。

  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml,
test.xml</param-value>
    </init-param>

    <load-on-startup>2</load-on-startup>
  </servlet>

configファイルを読み込む際に「test.xml」という存在しないファイルを指定してしまった場合、上記のエラーが発生する。

 

対処法

存在するファイルパスを記載する。