public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
{  ActionErrors=new ActionErrors();
   if((userName==null)||(userName.length()<1))
       errors.add("username",new ActionMessage("hello.no.username.error"));
   reyurn errors;
}
if((userName==null)||(userName.length()<1))这个判断方法里面的两项不是一样的吗?
(注:此方法和sun的官方关于struts的官方例子)

解决方案 »

  1.   

    你觉得当username=""时,他的LENGTH会等于几呢
      

  2.   

    你说的username=""和username=null有什么区别
      

  3.   

    当然不一样,userName.length() <1这个判断实际上就等同于userName.length()=="".""和null是不一样的,null表示没有分配内存空间给username,而""表示分配了內存空间給他但是username是空字符串而已,即里面没有存任何数据.
      

  4.   

    那我什么也不填,直接点submite是哪种情况?是userName.length()   <1?还是username==null(如果是这个,会是怎么一个现象)?
      

  5.   

    那我什么也不填,直接点submite,应该是userName.length()=0
      

  6.   

    那userName==null) ¦ ¦(userName.length() <1))中userName==null去掉行不行,位置颠倒行不行?