今天在项目中,从Action传到前台一个一个list,其实list是空的。
request.setAttribute("queryResultList", queryResultList);
在前台要进行下判断,来控制按钮的显示,开始的时候用的是
<%if(request.getAttribute("queryResultList")!=null){ <input type="button" value="确定"> }
发现当List是null时候,按钮也是显示的。后来用了<c:if>才真正的屏蔽
<c:if test="${queryResultList}!=null"> <input type="button" value="确定"> </c:if>
测试的时候发现request.getAttribute("queryResultList")显示到文本框中,即使是空值也是[],有值的时候就是[xx,xx,xx,xx,xx]
还是不太理解,抽时间好好研究下两者的机制。知道的大侠提示一下
判断空值时候可以这样用
[code="html"]
/c:if
/c:if
[/code]
这样不管queryResultList是null还是queryResultList.size() == 0都可以用上面的两个的任何一个判断
空值也是[],有值的时候就是[xx,xx,xx,xx,xx]
这个是jstl,表示集合的输出的一种方式吧,具体的话,可能你要看jstl的tag源码怎么写了。另外,如果这个集合不存在是什么都不输出的,如果是个空的List就输出[]
[code="java"]
<%
if(request.getAttribute("queryResultList")!=null){
%>
<%
}
%>
[/code]
这样写的吧