请问一个问题,为什么ActionForm不能强转成LazyDynaBean,
我按书上在做练习:
package com.jamesholmes.minihr;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.beanutils.LazyDynaBean;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LazyDynaBean loginForm=(LazyDynaBean)form;
String userName=null;
String password=null;
if(new LoginService().checkLogin(userName, password))
return mapping.findForward("loginDone");
else
return mapping.getInputForward();
}}
其中
LazyDynaBean loginForm=(LazyDynaBean)form;
这句编辑器提示我不能强转,为什么呢

解决方案 »

  1.   

    楼上朋友说的是,只是这我也知道,虽然书上就是这么写的.不过我还是想知道,lazydynabean如何在LoginAction 中取出页面参数,
    莫非是LoginAction 需要继承beanutils里的某个类? 
    具体怎么做呢?
      

  2.   

    loginAction同样要继承Action.
    由于struts本身是一种框架,它就提供这样一种接口,如果你很想知道为什么,你可以去看下strtus的源代码
      

  3.   

    LazyDynaBean如何在LoginAction 中取出页面参数呢
      

  4.   

    actionForm是从你页面上对应的struts标签中获取页面数据,而action是接受你的actionForm对里面的数据进行业务处理..
    actionForm是通过get,set方法,来进行值传递
      

  5.   

    汗.....净说些没关系的...我是想问,我使用了LazyDynaBean,而不是普通的ActionForm,如何在我的Action子类里取出页面数据
      

  6.   

    前提是LazyDynaBean继承ActionForm并且在xml里配置正确.LazyDynaBean loginForm=(LazyDynaBean)form; 
      

  7.   

    LazyDynaBean 需在struts-config.xml配置楼主是能不能强转 是可以的
    不过获得表单数据的方法会不同