Posted on 2007-09-14 15:03
leekiang 阅读(993)
评论(0) 编辑 收藏 所属分类:
struts
1,logic:empty与logic:present的区别
相同点:对于没有在page,request,session,application中定义或者是没有分配内存空间(null值)的变量,这两个标记处理的方法是一致的.
区别:
空字符串""值,他们的处理就不一样了,logic:present 标记认为空字符串仍然是存在的,也就是说,只要是引用了一块内存空间的变量,logic:present 就会返回present ;而logic:empty则认为空字符串仍然为空,由此得出,在logic:empty看来,变量不仅仅要引用一块内存空间,而且该地址空间的值不能为空字符串,否则都认为该变量为空,都会返回empty
2,logic iterate输出map
iterate标签处理map时好像只能做到以遍历的方式输出key和value,而不能指定输出某个key 以下来源:http://www.blogjava.net/msmary/articles/153560.html
标签本身不直接支持迭代输出,输出步骤:
Map-->Set-->Iterator-->Map.Entry-->key、value Map m = new HashMap();
m.put("name","yourname");
m.put("pass","yourpass");
request.setAttribute("map",m);
<logic:iterate id="str" name="map" scope="request">
<h2><bean:write name="str" property="key"/></h2>
<h2><bean:write name="str" property="value"/></h2>
</logic:iterate>
<%
/**
在Map中保存多个Collection集合,该如何进行了输出?
*/
List all = null;
Map m = new HashMap();
all = new ArrayList();
all.add("msdn");
all.add("url");
m.put("name",all);
all = new ArrayList();
all.add("mole");
all.add("msistri");
m.put("info",all);
//在一个Map中保存了多个集合,每个集合又包含了多个内容
request.setAttribute("list",m);
%>
<logic:iterate id="src" name="list" scope="request" >
<h2><bean:write name="src" property="key"/></h2>
<logic:iterate id="ins" name="src" scope="page" property="value">
<bean:write name="ins"/>
</logic:iterate>
</logic:iterate>
http://www.blogjava.net/ftqiuqiu/articles/205631.html
http://zengbo0710.javaeye.com/blog/79405
http://blog.csdn.net/daryl715/archive/2007/03/12/1527098.aspx