struts-config.xml配置里要加个
<action
 ...
 validate=true
 ...
/>

解决方案 »

  1.   

    已经加了,System.out.println("2222222222");都已经运行了.就是回到网面后不显示但是放到属性文件后可以显示.
      

  2.   

    new ActionMessage("用户名不能空"));
    里面不能是直接填写内容的,他是资源文件里的一个key值
      

  3.   

    在properties文件中写入not null= 用户名不能为空   中文要转换为二进知~  jbx有个工具,名字不记得了!
      

  4.   

    楼主在代码中有两个错误:
    1、errors.add("username1", new ActionMessage("用户名不能空"))中“用户名不能空”应该从资源文件中读取,即是资源文件中的变量,这样才能实现国际化。
    2、如果在配置文件中将validate设为true(当然,还要设置input属性,这样在发生错误时,struts能自动转向输入页面)。
    <action
     ...
     validate=true
     ...
    />
      如果没有将validate设为true,那么在Action中要显式调用ActionForm.validate(),得到ActionErrors对象,然后再调用saveErrors(request, errors)将错误信息保存。
      

  5.   

    public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
        ActionErrors errors = new ActionErrors();    if ((username == null) || (username.length() < 1))
        {
           System.out.println("2222222222");
           errors.add("username1", new ActionMessage("用户名不能空"));
           this.saveErrors(request,errors);
        }
        return errors;
      }