2011-05-10 52 views
2

我真的需要你的幫助。我有以下Struts2迭代器?在迭代器中使用Struts if語句

<s:iterator value="familiari" status="entry"> 
</s:iterator> 

我怎樣才能測試addess屬性爲空?

以下不起作用

<s:if test="#entry.addess!=''"> 
</s:if> 

回答

7

似乎你misundestanding的status屬性格式的iterator tag的含義:這是一個特殊的迭代對象跟蹤行數(奇數/偶數檢查等)。

您應該使用var屬性。例如(未測試):

<s:iterator value="familiari" var="myobj"> 
    <s:if test="#myobj.addess != ''"> 
    </s:if> 
<s:iterator> 
+0

你是對的!我只是在學習Struts2。感謝yoy – AngeloBad 2011-05-11 14:25:59

+1

由於當前迭代項位於值棧的頂部,因此不需要迭代器的var屬性。對_if_標籤的測試可以簡單地寫成:test =「address!=''」OP可能會感興趣,你也可以寫:test =「address.isEmpty()== false」 – Quaternion 2011-05-11 21:37:17

+0

@ Quaternion:你是對的,在我看來更容易理解的顯式變量 – leonbloy 2011-05-11 21:40:36