假设我有两个具有相同属性名的对象,我正在使用Struts 2进行迭代。
class Book {
// assume that there is a public getter and setter
public String title;
public List<Chapter> chapterList;
}
class Chapter {
public String title;
}
在我的JSP页面中,我想迭代Book和Chapter。在迭代时,当书的标题与章节的标题相同时,如何显示特殊信息?
<s:iterator value="bookList">
<s:iterator value="chapterList">
<s:if test="book.title.equals(chapter.title)">
Same title
</s:if>
</s:iterator>
</s:iterator>
如何修复上述代码段中的s:if标记,以便将书名与章节标题进行比较?
谢谢!
注意:这与下面的stackoverflow问题非常相似(但在该问题中,他们只打印属性名称而不进行比较,并且父对象和子对象的属性名称不同):
答案 0 :(得分:1)
您可以使用standard EL operators ==
或eq
来测试(String)值是否相等:
<s:if test="%{book.title == chapter.title}">
或(位更多XHTML友好)
<s:if test="%{book.title eq chapter.title}">