web.xml配置
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>mystruts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>mystruts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>ApplicationContext ac  我是通过在Action中直接注入属性并且提供了getter setter方法。并且加入了 struts-spring-plugin.jar 包。
可是最后报错 是 空指针异常!
2011-3-18 9:21:56 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at actions.UserAction.findAll(UserAction.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept

解决方案 »

  1.   

    actions.UserAction.findAll
    这个错了呗,Action配错了吧,检查一下struts.xml
      

  2.   

    加这个了吗?<constant name="struts.objectFactory" value="spring" />
      

  3.   

    把你的struts的action里面extends ActionSupport去掉
      

  4.   

    你去下一个Struts-Spring-plugin的插件加到类路径里,然后struts.xml里的action配置这样写      <action name="路径" class="类名字(在Spring配置文件里的name值)"></action>
    Spring的配置Action的配置文件里写
          <!-- 注意,是name不是id -->
          <bean name="类的名字(唯一的,和上面那个struts配置里的class属性一样)" class="类全名" scope="prototype">
            <!--在这注入你的service-->
          </bean>
      

  5.   

    难道 导入struts-spring-plugin.jar包需要插件的?