Сравнение вложенных итераторов Struts 2 - PullRequest
0 голосов
/ 15 марта 2010

Предположим, что у меня есть два объекта с тем же именем свойства, которое я перебираю в 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 я хочу перебрать Книгу и Главу. Во время итерации, как бы я отобразил специальное сообщение, если название книги совпадает с названием главы?

<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 (но в этом вопросе они только печатают имя свойства без сравнения, а имя свойства по-разному на родительских и дочерних объектах):

Struts 2 вложенных итератора

1 Ответ

1 голос
/ 15 марта 2010

Вы можете использовать стандартные операторы EL == или eq, чтобы проверить (строковые) значения на равенство:

<s:if test="%{book.title == chapter.title}">

или ( бит более дружественный XHTML)

<s:if test="%{book.title eq chapter.title}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...