我有下面的代碼似乎不工作。我不明白爲什麼這不會工作。包含在struts2中迭代器標記
<s:iterator value=%{questions} id="question">
<s:if test='%{incorrectQs.contains("#question.questionId")}'>
Print something here
</s:if>
</s:iterator>
在上面的代碼中,基本上我在action類中有一個名爲getQuestions的方法。該列表包含具有get/set questionId的Exam類的對象。我也有錯誤的Qs列表包含字符串。我正在檢查如果incorrectQs包含questionId。如果是這樣,我想打印一些文字。儘管如此,上面的代碼不起作用,下面的代碼可以很好地隨機工作。有時工作,有時不... :(
<s:iterator value=%{questions}>
<s:if test='%{incorrectQs.contains("${questionId}")}'>
Print something here
</s:if>
</s:iterator>
任何人都可以提供一些這方面的見解?
是考試的questionId屬性的字符串?如果不是,那麼這可能是一個類型轉換問題。即使字符串的值等於字符串的toString()值,那麼String equals方法(將由List contains方法調用)將不會返回true,如果您傳遞Integer(或任何其他非String)整數。 – 2009-08-06 02:19:47
是的,它是一個字符串... – Omnipresent 2009-08-06 02:26:11
有沒有一種方法來實際檢查類型? – Omnipresent 2009-08-06 02:30:26