userForm extends ActionForm{
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
if(queryString.equals("method=save")||queryString.equals("method=update")){
if(username==null||username.equals("")){
errors.add("username",new ActionMessage("reg.error.username"));
}


if(password==null||password.equals("")){
errors.add("password",new ActionMessage("reg.error.password"));
}
}
}
}
我有两个表单,可以不可以把两个表单的信息通过这一个ActionForm保存信息,并且通过一个validate()进行判断?
第一个表单的信息由username password 第二个表单的信息由username email,请问应该怎么判断?

解决方案 »

  1.   

    actionform是根据名字匹配的,只要名字不一样就可以用同一个form,把第二个username换个名字。
      

  2.   

    如果换成username2
    可以这样写吗public ActionErrors validate(ActionMapping mapping, 
    HttpServletRequest request) { 
    if(queryString.equals("method=save")||queryString.equals("method=update")){ 
    if(username==null||username.equals("")){ 
    errors.add("username",new ActionMessage("reg.error.username")); 

    if(password==null||password.equals("")){ 
    errors.add("password",new ActionMessage("reg.error.password")); 

    if(username2==null||username2.equals("")){ 
    errors.add("username2",new ActionMessage("reg.error.username2")); 

    if(email==null||email.equals("")){ 
    errors.add("email",new ActionMessage("reg.error.email")); 


      

  3.   

    不行呀 ,报错java.lang.NullPointerException
    com.liushiqing.struts.form.UserForm.validate(UserForm.java:69)
    org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:928)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:204)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)