public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception
{
DynaActionForm myForm = (DynaActionForm)form;
//我这里的myform为空,没有取得页面的值,是什么原因了
Student stu=myForm.getStu();
.......
}很急,请教哪位高手帮帮忙?小妹在此谢过了...
{
DynaActionForm myForm = (DynaActionForm)form;
//我这里的myform为空,没有取得页面的值,是什么原因了
Student stu=myForm.getStu();
.......
}很急,请教哪位高手帮帮忙?小妹在此谢过了...
2.检查struts配置文件的相关的属性值
3.如果使用了spring检查是否在spring中配置formbean的bean
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>
.....
很急,请教哪位高手帮帮忙?小妹在此谢过了...
你看你的FormBean【ShowBabyForm 】继承的是ActionForm,然后你在Action类里面是用动态Form【DynaActionForm】来转换取得里面的值,不同的Form,所以你那样取不到里面的值.
你想用DynaActionForm就没必要那个FormBean类,FormBean是在struts-config.xml里面配置的。
所以,你上面是在Action类里面转换出错,应该转换类型是你的FormBean类,ShowBabyForm sbyForm= (ShowBabyForm )form
DynaActionForm myForm = (DynaActionForm)form;用这个去强制转换 这也行?