public String execute() throws Exception {
List<Category> list=categoryService.queryByname(new String(getName().trim().getBytes("ISO8859-1"),"UTF-8")); if(!list.isEmpty()){                     //不可以用list==null   不知为什么 ServletActionContext.getRequest().setAttribute("list", list);
return SUCCESS;
}else{
return "noresult";
}

}
我用list==null   永远都到不了第二个视图     他们到底什么区别 

解决方案 »

  1.   

    isEmpty
    boolean isEmpty()如果列表不包含元素,则返回 true。 指定者:
    接口 Collection<E> 中的 isEmpty
    返回:
    如果列表不包含元素,则返回 true这个是API 里面的说法。
      

  2.   

    size
    int size()返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。 指定者:
    接口 Collection<E> 中的 size
    返回:
    列表中的元素数可是 使用这个 
      

  3.   

    public String execute() throws Exception { 
    List <Category> list=categoryService.queryByname(new String(getName().trim().getBytes("ISO8859-1"),"UTF-8")); if(list != null && !list.isEmpty()){                    //不可以用list==null  不知为什么  ServletActionContext.getRequest().setAttribute("list", list); 
    return SUCCESS; 
    }else{ 
    return "noresult"; 
    } } 
      

  4.   

    NULL 和 ISEMPTY 的区别很明显嘛
    如果 list == null 是根本没有创建对象 。
    isEmpty 方法是判断LIST 是否为空, 对象已经创建。不知道你方法里面怎么写的, 应该是查询方法返回了空的集合。 
      

  5.   

    明白了  !=null只是说明创建出了对象   但集合里可能没东西     orm的api一定创建了对象  所以只用list!=null一定的真条件   永远调不到else 即使集合里没数据   所以要想没数据时返回下一个视图  必须再判断集合里是否有东西 isEmpty  或者size()>0    省去!=null貌似也可以   但是需要保证服务方法不出异常   即正确创建出一个集合对象来     就像篮子里盛水果  先要有篮子