1,logic:empty與logic:present的區(qū)別
相同點(diǎn):對(duì)于沒(méi)有在page,request,session,application中定義或者是沒(méi)有分配內(nèi)存空間(null值)的變量,這兩個(gè)標(biāo)記處理的方法是一致的.
區(qū)別:
空字符串""值,他們的處理就不一樣了,logic:present 標(biāo)記認(rèn)為空字符串仍然是存在的,也就是說(shuō),只要是引用了一塊內(nèi)存空間的變量,logic:present 就會(huì)返回present ;而logic:empty則認(rèn)為空字符串仍然為空,由此得出,在logic:empty看來(lái),變量不僅僅要引用一塊內(nèi)存空間,而且該地址空間的值不能為空字符串,否則都認(rèn)為該變量為空,都會(huì)返回empty
2,logic iterate輸出map
? iterate標(biāo)簽處理map時(shí)好像只能做到以遍歷的方式輸出key和value,而不能指定輸出某個(gè)key? 以下來(lái)源:http://www.tkk7.com/msmary/articles/153560.html
????? 標(biāo)簽本身不直接支持迭代輸出,輸出步驟:
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中保存多個(gè)Collection集合,該如何進(jìn)行了輸出?
??????? */
??????? 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);
??????? //在一個(gè)Map中保存了多個(gè)集合,每個(gè)集合又包含了多個(gè)內(nèi)容
??????? 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.tkk7.com/ftqiuqiu/articles/205631.html
http://zengbo0710.javaeye.com/blog/79405
http://blog.csdn.net/daryl715/archive/2007/03/12/1527098.aspx