当前位置: 代码迷 >> Java Web开发 >> spring2.0注入分发action中成员变量为null???
  详细解决方案

spring2.0注入分发action中成员变量为null???

热度:951   发布时间:2008-04-05 21:18:34.0
spring2.0注入分发action中成员变量为null???
写了个dao接口和dao实现类
然后用一个服务层manager操作dao.
manager也有一个manager接口和一个 mananger实现类   
我在spring中让这两个实现注入到一个struts1.3的action中  用动态from时可以成功注入 但换成静态的怎么也注不进去啊??帮我看看这个问题吧。

applicationConntext.xml代码如下:
          //配置dao的实现
<bean id="typeDAO" class="com.ln.hotel.dao.hibernate.TypeDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
        //配置manager的实现
         <bean id="typeManager"
class="com.ln.hotel.service.impl.TypeManagerImpl">
<property name="typeDAO">
<ref bean="typeDAO" />
</property>
</bean>
        //在action中注入
         <bean name="/type"
class="com.ln.hotel.struts.action.TypeAction">
<property name="typeManager">
<ref bean="typeManager" />
</property>
</bean>


action中的代码如下:
        public class TypeAction extends DispatchAction {

private TypeManager manager;
public void  setTypeManager (TypeManager manager) {                        //spring不是就通过这个seter把manager注入进来么?
this.manager = manager;
}
public ActionForward show(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TypeForm typeForm = (TypeForm) form;

System.out.println(manager != null);
return null;
}
}

运行结果直接在后台打印false!!

struts-config.xml配置没有问题吧应该
用动态的form时候这样配置没有错误 manager有值,为什么用静态form就不行???
我把struts-config.xml也贴上来吧
      </form-bean>
     <form-bean name="typeForm" type="com.ln.hotel.struts.form.TypeForm" />

     <action
      attribute="typeForm"
      input="/admin/addtype.jsp"
      name="typeForm"
      parameter="status"
      path="/type"
      scope="request"
      type="com.ln.hotel.struts.action.TypeAction" />
   </action-mappings>

哪位大哥能帮忙解决一下啊?
搜索更多相关主题的帖子: action中  变量  null  dao  quot  

----------------解决方案--------------------------------------------------------
问题已经解决
只是struts-config.xml中定义action type的错误
----------------解决方案--------------------------------------------------------
在struts-config.xml中把action-mapping的type属性改变下。。

type="org.springframework.web.struts.DelegatingActionProxy"
----------------解决方案--------------------------------------------------------
  相关解决方案