林海学苑

java学习交流

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  12 随笔 :: 0 文章 :: 1 评论 :: 0 Trackbacks
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>


出错信息如下:

java.lang.NullPointerException  
  org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1238)  
  org.apache.struts.taglib.TagUtils.message(TagUtils.java:1101)  
  org.apache.struts.taglib.TagUtils.message(TagUtils.java:1076)  
  org.apache.struts.taglib.html.ImgTag.src(ImgTag.java:558)  
  org.apache.struts.taglib.html.ImgTag.doEndTag(ImgTag.java:434)  
  org.apache.jsp.login_jsp._jspx_meth_html_img_0(login_jsp.java:122)  
  org.apache.jsp.login_jsp._jspService(login_jsp.java:70)  
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  


自己找了半天,也在网上看了别人的处理方法,始终没有解决,资源文件肯定是有的,配置也没有错,为什么呢。
今天找到了我的原因:
查看了:
http://topic.csdn.net/t/20060407/08/4669069.html

其中web.xml配置有:

      <!--   Action   Servlet   Configuration   -->  
      <servlet>  
          <servlet-name>actionServlet</servlet-name>  
          <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
          <load-on-startup>1</load-on-startup>  
      </servlet>  

我原有配置是这样的:

    <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-common.xml,/WEB-INF/struts-config-bs-rpc.xml,/WEB-INF/struts-config-wineshop-rpc.xml</param-value>
        </init-param>      
    </servlet>

tags-bean配置的资源文件是在 /WEB-INF/struts-config-common.xml中的:
<message-resources parameter="com.wsms.common.resource.WebResource" />   

而我的正好缺少 <load-on-startup>1</load-on-startup>

ContextFilter中又把启动的url给过滤了。

所以在没有装载配置的资源文件是在 /WEB-INF/struts-config-common.xml时就出错了。


修改web.xml中 org.apache.struts.action.ActionServlet为:

    <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-common.xml,/WEB-INF/struts-config-bs-rpc.xml,/WEB-INF/struts-config-wineshop-rpc.xml</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>       
    </servlet>

ok,解决了





posted on 2010-03-11 22:30 林海 阅读(1799) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: