我struts标签用的不是很熟 
最近没事研究研究
我在实现列表页面的时候遇到了困难
业务是得到request中的persons集合(List)
然后判断如果persons的size()为0  就输出个<tr><td>无记录</td></tr>
如果不为零 再迭代
现在问题就处在struts标签的<logic:equal 上了 <logic:present name="persons" scope="request">
<bean:size id="len" name="persons" scope="request"/>
<h1>长度是:${len}</h1>
<logic:equal value="0" name="${len}">
        1
<tr><td>暂无记录</td></tr>
</logic:equal>
<logic:notEqual value="0" name="${len}">
23
<logic:iterate id="person" name="persons" scope="request" indexId="oid">
    <tr>
  <td>${oid+1}</td>
  <td>${person.name}</td>
  <td>${person.loginName}</td>
  <td>${person.age}</td>
    </tr>
</logic:iterate>
</logic:notEqual>
34
</logic:present>
<logic:notPresent name="persons" scope="request">
     <tr><td>暂无记录</td></tr>
</logic:notPresent>
<logic:equal value="0" name="${len}">
这个判断老不成功 len确实是0  
我估计问题可能出在数据类型上了struts标签不会这么难用吧 =。= 我不想再用c:if了
高手指点下我把 谢谢了

解决方案 »

  1.   

    ${len}是你的form名吗?logic:equal 的name属性应该等于的actionForm的名字吧
      

  2.   

    不是form名  那个标签不是这么用的
      

  3.   

    个人建议用jstl标签,好用
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>比如说有一个集合 list
    得出它这个集合的长度${fn:length(list)}  就OK了
      

  4.   

    你直接判断集合是否为空不就行了用<Logic:notEmpty>标签
      

  5.   


       <Logic:notEmpty name="person">
          <logic:iterate id="person" name="persons" scope="request" indexId="oid">
                <tr>
                  <td>${oid+1}</td>
                  <td>${person.name}</td>
                  <td>${person.loginName}</td>
                  <td>${person.age}</td>
                </tr>
            </logic:iterate>
       </Logic:notEmpty>
      

  6.   

    <logic:equal value="0" name="len">
            1
        <tr><td>暂无记录</td></tr>
    </logic:equal>
    <logic:notEqual value="0" name="len">
            23
         <logic:iterate id="person" name="persons" scope="request" indexId="oid">
                <tr>
                  <td>${oid+1}</td>
                  <td>${person.name}</td>
                  <td>${person.loginName}</td>
                  <td>${person.age}</td>
                </tr>
         </logic:iterate>
    </logic:notEqual>login标签接数据的时候不需要用到el标签
    直接写变量名就可以了
      

  7.   

    囧。。谢谢Buddha_sy   
    问题解决了
    用notEmpty是不行的 集合不为null  而是集合的size 等于=