解决方案 »

  1.   

    <aop:aspectj-autoproxy proxy-target-class="true" />
      

  2.   

    struts.xml 里面加上
    <constant name="struts.objectFactory" value="spring" />
      

  3.   

    看你struts.xml 文件怎么写的吧!估计是忘了加<constant name="struts.objectFactory" value="spring" />这句吧
      

  4.   

    有两种整合方式,第一使用spring创建action注解有效,第二使用struts2-spring-plugin插件,必须有struts2-spring-plugin-X.X.X.jar此方法注解无效,默认按name装配,需要有对应的set方法,看楼主用的哪种方式了。
      

  5.   


    struts.xml文件很简单:<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd"><struts> <!-- 配置为开发模式 -->
    <constant name="struts.devMode" value="true"/>
    <!-- 把扩展名配置为action -->
    <constant name="struts.action.extension" value="action"/>
    <!-- 把主题配置为simple -->
    <constant name="sturts.action.extension" value="simple"/>

    <constant name="struts.objectFactory" value="spring" />

    <!-- <package name="default" namespace="/" extends="struts-default">
    <action name="myAction" class="myAction">
    <result>test.jsp</result>
    </action>
    </package> -->

    </struts>
      

  6.   


    我是用plugin的方式来做的,jar包也加了,难道是我方法做的不对吗?getter和setter方法在我给的代码里也写了的
      

  7.   

    <constant name="struts.action.extension" value="action"/>
    <!-- 把主题配置为simple -->
    <constant name="sturts.action.extension" value="simple"/>
      

  8.   


    我是用plugin的方式来做的,jar包也加了,难道是我方法做的不对吗?getter和setter方法在我给的代码里也写了的
    你要给Action注入Action啊,一般没那么干的啊,一般都是Action注入Service,你配的把自身注给自己,关键是创建这个Action的时候这个自身对象还不存在啊,可能是这个问题吧
      

  9.   


    我是用plugin的方式来做的,jar包也加了,难道是我方法做的不对吗?getter和setter方法在我给的代码里也写了的
    你要给Action注入Action啊,一般没那么干的啊,一般都是Action注入Service,你配的把自身注给自己,关键是创建这个Action的时候这个自身对象还不存在啊,可能是这个问题吧private ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

    @org.junit.Test
    public void testAction() {
    MyAction ma = (MyAction)ac.getBean("myAction");
    System.out.println(ma);
    }
    那跟这种方式拿action不是一样的吗?
      

  10.   

    你用getBean这个方法得到action还用Spring干嘛,要再Spring的配置文件中把action作为bean注入进去啊
      

  11.   


    我是想用注解的方式来注入,不想用xml的方式。不过问题解决了,就是不能注入自身,自己new出来就可以
      

  12.   


    我是用plugin的方式来做的,jar包也加了,难道是我方法做的不对吗?getter和setter方法在我给的代码里也写了的
    你要给Action注入Action啊,一般没那么干的啊,一般都是Action注入Service,你配的把自身注给自己,关键是创建这个Action的时候这个自身对象还不存在啊,可能是这个问题吧private ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

    @org.junit.Test
    public void testAction() {
    MyAction ma = (MyAction)ac.getBean("myAction");
    System.out.println(ma);
    }
    那跟这种方式拿action不是一样的吗?这只是从容器中拿name是myAction的bean,没有拿到,说明创建myAction的时候就出错了,应该还会有别的报错。
      

  13.   

    一般不这么干的,看你的代码还是在调用自身,这就不明白了,struts2可以直接用spring的server层,不用注解都可以掉用。再研究研究