applicationContext.xml配置 <bean name="/InitIndexAction" class="com.shuoya.view.action.foodinfo.InitIndexAction"> 
       <property name="iFoodInfoDAO">
<ref bean="FoodInfoDAOHibernate" />
</property>
</bean>
struts-config.xml配置
      <action
      path="/InitIndex"
      scope="request"
      type="com.shuoya.view.action.foodinfo.InitIndexAction">
    <forward name="ok" path="/index.jsp" />
    </action>
  </action-mappings>
   <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
   <message-resources parameter="com.shuoya.view.action.foodtype.ApplicationResources" />
</struts-config>
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */import java.util.Date;
import java.util.List;import javax.servlet.*;import org.apache.struts.actions.*;import com.shouya.dao.IFoodInfoDAO;
import com.shouya.dao.IFoodTypeDAO;
import com.shuoya.enetity.FoodInfo;
import com.shuoya.enetity.FoodType;InitIndexAction 代码
/** 
 * MyEclipse Struts
 * Creation date: 09-10-2012
 * 
 * XDoclet definition:
 * @struts.action path="/findall" name="zhiBanRjForm" scope="request" validate="true"
 * @struts.action-forward name="findallok" path="/zbrj_cc08_update.jsp"
 */
public class InitIndexAction extends DispatchAction {
private IFoodInfoDAO iFoodInfoDAO;
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {  
   
           
List<FoodInfo>  foodInfos=null;foodInfos=iFoodInfoDAO.findAll(2);执行到这里iFoodInfoDAO=null,配置都是正确的啊?
     
  request.setAttribute("foodInfos", foodInfos);
return mapping.findForward("ok");
    
}public IFoodInfoDAO getiFoodInfoDAO() {
return iFoodInfoDAO;
}public void setiFoodInfoDAO(IFoodInfoDAO iFoodInfoDAO) {
this.iFoodInfoDAO = iFoodInfoDAO;
}
输入InitIndexAction.do时候
foodInfos=iFoodInfoDAO.findAll(2);执行到这里iFoodInfoDAO=null,配置都是正确的啊,高手给看看。 

解决方案 »

  1.   


    <bean name="iFoodInfoDAO" class="com.shuoya.view.action.foodinfo.InitIndexAction"> 
           <property name="FoodInfoDAOHibernate">
    <ref bean="FoodInfoDAOHibernate" />
      

  2.   

    楼主的配置文件写的没有问题。是你的action的public void setiFoodInfoDAO这个方法名有问题
    你属性注入的是iFoodInfoDAO这种注入也叫setter注入spring是根据你的set方法来注入的。而这个setter是按照javabean规范的即的头字母改为大写加上后面的字符也就是正确的setter是
    public void setIFoodInfoDAO
      

  3.   

    public void setiFoodInfoDAO(IFoodInfoDAO iFoodInfoDAO) {
    现在是启动tomcat的时候,显示这里已经有值了this.iFoodInfoDAO = iFoodInfoDAO;
    }
    但是运行到输入InitIndexAction.do时候
    foodInfos=iFoodInfoDAO.findAll(2);执行到这里iFoodInfoDAO=null,配置都是正确的啊,高手给看看。
      

  4.   

    已经说了你的set方法名字有问题怎么不改呢
      

  5.   

     <ref bean = "FoodInfoDAOHibernate" /> 这个 bean 在哪,如何引用过来的,我是新手,求讲解
      

  6.   

    我已经解决,感谢suciver 和ydehh