本帖最后由 cp0612 于 2012-05-20 15:48:15 编辑

解决方案 »

  1.   

    CatagoryTest catagoryTest = new CatagoryTest();
    LZ自己新建的对象,LZ要自己把catagoryDao对象设置进去。即后面加
    catagoryTest.setCatagoryDao(catagoryDao);
      

  2.   

    @Repository
    public class CatagoryAction extends ActionSupport {
        @Resource
        private Catagory catagory;
      

  3.   

    不要用new CatagoryTest(),自己new 的对象,spring是不会自动出入依赖的。可以用applicationcontext.getBean获取受spring管理的实例。
    从楼主的代码来看,更简单的就是直接在CatagoryAction中autoware一个CatagoryTest实例就好了
      

  4.   

    你的错误信息看不到!
    这个CatagoryTest也是个action,只是有点疑问:
    struts2的配置文件(xml)中需要配类似下面的吗?
    <action name="viewTest" class="com.catagory.bean.CatagoryTest" method="run">
         <result name="success">${request.contextPath}/catagory/view.jsp</result>
    </action>
      

  5.   

    <action name="viewTest" class="com.catagory.bean.CatagoryTest" method="run">
      <result name="success">${request.contextPath}/catagory/view.jsp</result>
    </action>
    一般情况下当struts2和spring整合的时候,struts2的配置文件中action的class属性应该是一个虚拟的class,而不是一个真正的路径地址,真正的action实例是在spring的配置文件中生成的。应该是这样吧:
    struts的配置文件:
    <action name="viewTest" class="catatoryTest" method="run">
      <result name="success">${request.contextPath}/catagory/view.jsp</result>
    </action>
    Spring的applicationContext.xml:
    <bean name="catatoryTest" class="com.catagory.bean.CatagoryTest">
        在这里注入dao
    </bean>