public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
TestUser user=(TestUser)form;
getRegister().saveUser(user);
request.setAttribute("user", user);
return mapping.findForward("register");
}中的TestUser user=(TestUser)form;出错,提示Cannot cast from ActionForm to TestUser.
请问这是怎么回事呢。

解决方案 »

  1.   

    怎么会不能强制转换呢,可以的.楼主的TestUser有没有继承ActionForm?
      

  2.   

    或者是有没有继承ValidatorForm?
      

  3.   

    我的TestUser是数据库表生成的pojo,怎么继承呢
      

  4.   

    你 form 引用的实例类型不是 TestUser,可以使用下面方法查看 form 的实际类型:
    System.out.println(form.getClass().getName());
      

  5.   

    如果继承ActionForm还报错的话,恐怕就是你用的动态form了
    你仔细看一下自己的代码了
      

  6.   

    CSDN后台不是你开发的情况下处理起来有你说的那么轻松吗?“不就是一个计算一个数据插入么!!!”往哪里插数据,如果计算?你能做到你就是狂人一号。
      

  7.   

    TestUser不是ActionForm继承ActionForm就行了哈
      

  8.   

    呵呵!看来楼主的struts基础还是没搞清楚!你的formbean 是要继承ActionForm ,不继承当然会报错的!
    多看看基础:)
      

  9.   

    TestUser 类没有继承 ActionForm 
      

  10.   

    不知道要怎么继承,TestUser类是pojo,需要继承吗ActionForm?
      

  11.   


    STRTUS本身就要ACTIONFORM来传递数据,你想直接给POJO是不行的.
    只有用一个FORM来接页面的数据,然后再传给POJO.
      

  12.   

    1.楼主的TestUser有没有继承ActionForm
    2.当前form不是TestUser类型的。
      

  13.   


    不想敲了………………楼主照抄代码的时候不没有抄全,注意下class的声明部分,要继承ActionForm 
      

  14.   

    对象的类型转换有限制。如:Dog<----->Animal<---->Cat  //相邻两个类(为父子关系)可以相互进行类型转换Dog<---不可以-->Cat        //相邻两个类(非父子关系)不可以相互进行类型转换------------------------------
    可以:Dog----->Animal

    Dog starDog = new Dog("Lassie");
    ((Animal)starDog).sound();
    System.out.println(starDog);
    可以:Dog<-----Animal
    Animal starDog = new Dog("Lassie");
    ((Dog)starDog).sound();
    System.out.println(starDog);

    可以:Animal---->Cat
    Animal starDog = new Dog("Lassie");
    ((Cat)starDog).sound();
    System.out.println(starDog);
    可以:Animal<----Cat
    Cat starDog = new Cat("Lassie");
    ((Animal)starDog).sound();
    System.out.println(starDog);

    不可以:Dog----->Cat 
    Dog starDog = new Dog("Lassie");
    ((Cat)starDog).sound();//错
    System.out.println(starDog);

    不可以:Dog<-----Cat 
    Cat starCat = new Cat("Lassie");
    ((Dog)starCat).sound();//错
    System.out.println(starCat);
      

  15.   

    3.可能struts配置不对,代码根本没有问题
    易载--个人网上资料收集必备工具。选中想收藏的文字(图片),右键选“收录到易载”,搞定!