楼主这个程序是继承 Action 的,不过没写~那样写是不行的
必须:
String username=(String)userInfoForm.userName;

解决方案 »

  1.   

    UserInfoForm  是继承 actionForm 的  
    我是想直接在头不加上import.org.UserInfoForm
    然后在perform()里直接实例化 
    UserInfoForm userInfoForm =new UserInfoForm();
     String username=userInfoForm.userName;
    不知道可以不?
      

  2.   

    你这样实例化是不行的.
    UserInfoForm userInfoForm = (UserInfoForm) form; 
    这一句要把传过来的form进行转化.如果你自己实例化后,那form里的数据岂不是没了?
    你还得把form参数里面的数据取出来赋给新建的userInfoForm ??
    多此一举
      

  3.   

    UserInfoForm userInfoForm = (UserInfoForm) form; 
    这是Struts框架传的参数,已经是一个UserInfoForm的实例
    如果你UserInfoForm userInfoForm =new UserInfoForm();
    的话,等于重新生成了一个UserInfoForm对象,是接不到值的
      

  4.   

    对,同意楼上几位的意见.
    execute()方法是与框架有关的,而它的几个参数也都是与上下文有关的,即四个参数都已经是实例了,合理地使用它就可以了.