logic标签的使用

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.iteye.com/blog/79405
http://blog.csdn.net/daryl715/archive/2007/03/12/1527098.aspx
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页