<logic:iterate id="id" name="text" scope="request">
<bean:write name="id" property="name"/>
</logic:iterate>
上面这样没有问题
<logic:iterate id="id" name="text" scope="request">
<logic:equal  name="id" property="name" value="<bean:write name='id' property=name">
true
</logic:equal>
false
</logic:iterate>
一直都是显示false
该怎么改?

解决方案 »

  1.   

    ....  你在干什么?这个false是100%会显示的.  因为你false外面都没有判断语句.
      

  2.   

    <logic:equal name="id" property="name" value="<bean:write name='id' property=name">
    表示的是name与value进行比较,如果相等,就执行true,否则false。
    可能是你的name与value永远不相等吧!!
      

  3.   


    <%
    String str ="1";
    request.setAttribute("str",str);
    %>
    <bean:write name="str"/>   //输出的值是1
    1.
    <logic:equal  name="str" value="<bean:write name='str'>"> 
    不相等
    </logic:equal>
    2.
    <logic:equal  name="str" value="1"> 
    相等
    </logic:equal>
    3.
    <logic:equal  name="str" value="<%=str%>"> 
    相等
    </logic:equal>2和3相等,1不相等。logic:equal  比较的到底是什么?还是我的写法有问题
      

  4.   


    <logic:equal  name="str" value="<bean:write name='str'>"> 
    你拿字符串"<bean:write name='str'>"和1比较,当然不相等
      

  5.   

    既然第3中方法可以,何必要写成第一种写法。这个和write标签能否用在equal标签属性中有关系。或者写成
    <logic:equal name="str" value="${str}">