<s:iterator value="#request.indexnewslist" id="list">
<s:if test="subcatid!=#list.subcatalog.subcatalogid"> <s:set name="subcatid" value="%{#list.subcatalog.subcatalogid}"></s:set>
<s:iterator value="#request.indexnewslist" id="list">
<s:if test="subcatid!=#list.subcatalog.subcatalogid"> <s:set name="subcatid" value="%{#list.subcatalog.subcatalogid}"></s:set>
为什么<s:if 总是为真??
<s:if test="subcatid!=#list.subcatalog.subcatalogid"> <s:set name="subcatid" value="%{#list.subcatalog.subcatalogid}"></s:set>
<s:iterator value="#request.indexnewslist" id="list">
<s:if test="subcatid!=#list.subcatalog.subcatalogid"> <s:set name="subcatid" value="%{#list.subcatalog.subcatalogid}"></s:set>
为什么<s:if 总是为真??
<s:set name="subcatid" value="0" />
<s:iterator value="#request.indexnewslist" id="list">
<s:if test="subcatid!=#list.subcatalog.subcatalogid"> <s:set name="subcatid" value="%{#list.subcatalog.subcatalogid}"></s:set>
你分别输出2个值就可以了啊检查下你的代码的值咯??
<div class="maincont">
<s:set name="i" value="0"></s:set>
<s:set name="double" value="0" />
<s:set name="subcatid" value="0" />
<s:iterator value="#request.indexnewslist" id="list">
<s:if test="subcatid!=subcatalog.subcatalogid">
<s:set name="subcatid" value="%{subcatalog.subcatalogid}"></s:set> <s:set name="i" value="0" />
<s:if test="double=='0'">
<div class="mainbox_1">
<s:set name="double" value="1" />
</s:if>
<s:else>
<div class="mainbox_2">
<s:set name="double" value="0" />
</s:else>
<h2>
<span class="boxhead"><s:url action="subcatalogone"
id="subcata" namespace="/admin">
<s:param name="subcatalogoneid" value="subcatalog.subcatalogid" /> </s:url> <s:property value="subcatalog.subcatalogname" /> </span><span
class="moreLinks"><s:a href="%{subcata}">more</s:a> </span>
</h2>
<ul class="mainheadUL">
</s:if>
<s:else>
<s:set name="i" value="1" />
<s:set name="subcatid" value="0" />
</s:else>
<li>
<span class="newDate globalDate"><s:date
format="yyyy-MM-dd HH:mm" name="newstime" /> </span>
<s:url id="newsoneidurl" action="newsone">
<s:param name="newoneid" value="newsid" />
</s:url>
<s:a href="%{newsoneidurl}" target="_blank" class="tag_title_link">
<s:property value="title" />
</s:a> </li> <s:if test="i=='0'">
</ul>
</div>
</s:if>
</s:iterator>
</div>
然后再分析下数据吗?看哪里的数据设置不对啊,或是取值不对等
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head><body><h3>Languages</h3>
<s:set name="para1" value="1"></s:set>
<s:set name="para2" value="2"></s:set>
<s:if test="%{#para1==#para2}">
OK!!
</s:if>
<s:else>
NO!!
</s:else>
</body>
</html>建议楼主去看看Ognl相关知识,然后,你的代码应当改成如下: <s:if test="#subcatid!=subcatalog.subcatalogid">因为当你进行iterator时,你的根对象就是得到的indexnewslist中装着的对象,假如里面装的是Product类的实例myproduct,那么你写的subcatalog.subcatalogid就对应myproduct.getSubcatalog().getSubcatalogid();所以从这里可以看出,你的subcatalog是个类,而且这个类是类Product的成员变量,而subcatalogid又是subcatalog类的成员变量。反正你要注意,如何在struts2中引用值,这与Ognl有关,你也可以看看struts2的源代码,关于支持标签的这部分,这样,你就可以更加深入的理解了。
所以你取值的时候记得要加#,
<s:if test="#subcatid!=subcatalog.subcatalogid">
你subcatalog这个值是否来源action的属性呢? 如果是就是对的, 不是就不对!
说说你的问题出在:
<s:if test="subcatid!=subcatalog.subcatalogid">
这一句有3个问题:
1. subcatid 是页面的局部变量,取值的时候应该改为:#subcatid
2. s:if 用法有问题,test中应该改为%{true} or %{false}
3. subcatalog.subcatalogid 应该直接取subcatalogid
最后应该改成:
<s:if test="%{#subcatid!=subcatalogid}">
......
</s:if>
LZ如果有其他问题,请继续留言。
http://topic.csdn.net/u/20100621/09/630a2da4-2009-492a-9e23-baab227530da.html?6485多谢
???:裏面的值是需要引用valueStack,
#???:引用的是contextValueStack,
請弄清楚是否引用的是一個值......!!!!!!!!
<s:set name="i" value="0"></s:set>
<s:set name="double" value="true" />
<s:set name="subcatid" value="0" />
<s:iterator value="#request.indexnewslist" id="list">
<s:if test="#subcatid!=subcatalog.subcatalogid">
<s:if test="#i==1">
</ul>
</div>
</s:if>
<s:set name="subcatid" value="%{subcatalog.subcatalogid}"></s:set>
<s:set name="i" value="2" />
<s:if test="#double==true">
<div class="mainbox_1">
<s:set name="double" value="!#double" />
</s:if>
<s:else>
<div class="mainbox_2">
<s:set name="double" value="!#double" />
</s:else>
<h2>
<span class="boxhead"><s:url action="subcatalogone"
id="subcata" namespace="/admin">
<s:param name="subcatalogoneid"
value="%{subcatalog.subcatalogid}" /> </s:url> <s:property value="subcatalog.subcatalogname" /> </span><span
class="moreLinks"><s:a href="%{subcata}">more</s:a> </span>
</h2>