public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception
  {
  DynaActionForm myForm = (DynaActionForm)form;
//我这里的myform为空,没有取得页面的值,是什么原因了
 Student stu=myForm.getStu();
   .......
}很急,请教哪位高手帮帮忙?小妹在此谢过了...

解决方案 »

  1.   

    把你formbean 和 表单页面贴出来
      

  2.   

    有没有在struts-config.xml文件中配置 action 和 Form
      

  3.   

    1.检查编写的formbean
    2.检查struts配置文件的相关的属性值
    3.如果使用了spring检查是否在spring中配置formbean的bean
      

  4.   

    输入控件的名字要使用from类里定义属性(必须先生成set,get方法)的名字,并且控件必须在from表单中
      

  5.   

    //FormBean类
    public class ShowBabyForm extends ActionForm {
    private PetInfo petInfo=new PetInfo();//此属性为实体类 public PetInfo getPetInfo() {
    return petInfo;
    }
            public void setPetInfo(PetInfo petInfo) {
        this.petInfo = petInfo;
    } //我的Action类
      public class ShowBabyAction extends Action {
      public ActionForward execute(ActionMapping mapping, ActionForm form,     HttpServletRequest request, HttpServletResponse response)throws Exception
      {
      DynaActionForm myForm = (DynaActionForm)form;
    //我这里的myform为空,没有取得页面的值,是什么原因了
     Student stu=myForm.getStu();
      .......
     }
    }//jsp页面
    <input type="text" name="petInfo.pet_id"/>
    <input type="text" name="petInfo.pet_name"/>//strurs的配置文件
       ...
        <form-bean name="showBaby" type="form.ShowBabyForm" />
        <action
          attribute="showBabyForm"
          input="/showBaby.jsp"
          name="showBaby"
          path="/showBaby"
          type="action.ShowBabyAction" >
          <forward name="success" path="/showBaby.jsp"></forward>
        .....
    很急,请教哪位高手帮帮忙?小妹在此谢过了...
      

  6.   

    你首先要了解ActionForm,DynaActionForm,DispathchAction这几种form各自的作用与配置。
    你看你的FormBean【ShowBabyForm 】继承的是ActionForm,然后你在Action类里面是用动态Form【DynaActionForm】来转换取得里面的值,不同的Form,所以你那样取不到里面的值.
    你想用DynaActionForm就没必要那个FormBean类,FormBean是在struts-config.xml里面配置的。
    所以,你上面是在Action类里面转换出错,应该转换类型是你的FormBean类,ShowBabyForm sbyForm= (ShowBabyForm )form
      

  7.   

    大姐你玩我们了吧!  你用ShowBabyForm 接收数据 
    DynaActionForm myForm = (DynaActionForm)form;用这个去强制转换 这也行?
      

  8.   

    Student stu=(Student)myForm.getStu();