http://blog.csdn.net/logi22/archive/2008/03/17/2192158.aspx

解决方案 »

  1.   

    http://127.0.0.1:8080/ch17/createUser.do?userName=变量&password=变量&age=变量&submit=变量你的url应该象上面这样写,然后进入createUser对应的actiong后,可以这样取值:
    String userName=request.getParameter("userName");
    ......
      

  2.   

    你的jsp页面代码可能有错误.比如js脚本语言,网页有提示错误吗?
      

  3.   

    有可能是formBean里的validate方法返回的errors对象不为空,同时struts-config里的validate属性设置为true,同时input页面设定成了
    http://127.0.0.1:8080/ch17/createUser.do
      

  4.   

    回楼上,以下是我UserForm里的validate方法代码public ActionErrors validate(ActionMapping mapping,
                        HttpServletRequest request)
         {
            ActionErrors errors = new ActionErrors();
            if ((user.getUserName() == null) || (user.getPassword().length() < 3))
            { 
                errors.add("password", new ActionError("error.user.password"));
            }
            return errors;
         }struts-config里的validate属性设置的是true
      

  5.   

    还有,我在createUser.jsp里这样的<html:form action="createUser.do"  method="GET">
            userName:<html:text property="user.userName" /> <br/>
            password:<html:password property="user.password" /> <br/>       
            age:    <html:text property="user.age" /> <br/>       
            <html:submit property="submit"/>
        </html:form>在UserForm里 public class UserForm extends ActionForm
    {
    private User user=new User();
    public void setUserName(String userName)
    {
    user.setUserName(userName);
    }
    public String getUserName()
    {
    return user.getUserName();
    }
    public void setUser(User user)
    {
    this.user=user;
    }
    public User getUser()
    {
    return this.user;
    }
    //重新设置form
    public void reset(ActionMapping mapping, HttpServletRequest request)
        {
                        this.user = new User();
        }
        //form有效性判断,这里做简化处理。
     public ActionErrors validate(ActionMapping mapping,
                        HttpServletRequest request)
         {
            ActionErrors errors = new ActionErrors();
            if ((user.getUserName() == null) || (user.getPassword().length() < 3))
            { 
                errors.add("password", new ActionError("error.user.password"));
            }
            return errors;
         }
    }User.javapackage com.jspdev.ch17;
    /**
     *表示用户信息,它是一个值对象,被From使用
     *这个对象必须提供对应的getter和setter方法
     */
    public class User
    {
    public String userName;
    public String password;
    public int age; 

    public void setUserName(String name)
    {
    this.userName=name;
    }
    public void setPassword(String password)

    {
    this.password=password;
    }
    public String  getUserName()
    {
    return this.userName;
    }
    public String getPassword()
    {
    return password;
    }
    public int getAge()
    {
    return this.age;
    }
    public void setAge(int age)
    {
    this.age=age;
    }
    }
      

  6.   

    加入我们JAVA技术群,有问题大家来解决!
    30878363 
      

  7.   


    <html:form action="createUser.do"  method="GET"> 
            userName: <html:text property="user.userName" />  <br/> 
            password: <html:password property="user.password" />  <br/>        
            age:     <html:text property="user.age" />  <br/>        
             <html:submit property="submit"/> 
         </html:form> 这里写错了,红色字体部分,只需要写属性名,不需要写类名。这个属性名要和formBean中的属性名一样,同时要有getter和setter方法