环境
MyEclipse6.0+struts1.2+Spring2.0说明:
struts中的Action继承的是LookupDispatchAction,然后用Spring代理,web.xml中设置监听器。运行时报一下错误:
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.apache.struts.action.Action.getResources(Action.java:339)
at org.apache.struts.actions.LookupDispatchAction.initLookupMap(LookupDispatchAction.java:171)
at org.apache.struts.actions.LookupDispatchAction.getLookupMapName(LookupDispatchAction.java:220)
at org.apache.struts.actions.LookupDispatchAction.getMethodName(LookupDispatchAction.java:272)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:157)
at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:146)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)相关代码:
struts-config.xml
……
<action-mappings >
    <action
      attribute="teForm"
      input="/te.jsp"
      name="teForm"
      parameter="typ"
      path="/te"
      scope="request"
      type="org.springframework.web.struts.DelegatingActionProxy">
      <forward name="index" path="/index.jsp" />
    </action>  </action-mappings>
……
applicationContext.xml
……
<bean name="/te" class="com.accp.test.web.action.TeAction">
……TeAction.java
……
public class TeAction extends LookupDispatchAction {
/*
 * Generated Methods
 */ /** 
 * Method execute
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return ActionForward
 */
public ActionForward a(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TeForm teForm = (TeForm) form;// TODO Auto-generated method stub
return mapping.findForward("index");
}
public ActionForward d(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TeForm teForm = (TeForm) form;// TODO Auto-generated method stub
return mapping.findForward("index");
} protected Map getKeyMethodMap() {
Map tep = new HashMap();
tep.put("sub.a", "a");
tep.put("sub.d", "d");
return tep;
}
}
……请各位达人帮帮忙,这是什么回事啊?用DispatchAction好像没有问题,如果要用LookUpDispatchAction怎么办啊???????

解决方案 »

  1.   

    你的问题有没有得到解决?我也碰到和你一的报错,也是struts,spring,hibernate
      

  2.   

    知道如何解决了,要改spring
    的源代码,这么做也比较麻烦
      

  3.   

    没有解决啊
    期待好的解决方法
    一直喜欢用LookUpDispatchAction
    期待达人解答
      

  4.   

    那是你的spring的代理类配置有问题