2012-05-09 2 views
0

Я вычисляю количество страниц на экране поиска в классе Action. Мне нужно перебирать номера от 1 до, чтобы отображать номера страниц со ссылками, и я не могу найти способ сделать это с помощью <s:iterator>Struts: как итерация до достижения значения

Явный эквивалентный код будет, Пожалуйста, дайте мне знать, где есть способ достичь это в JSP с метками struts 2.0.

for (int i = 1; i <= pageCount; i++) { 
     // print page no 
    } 

Заранее благодарен.

ответ

1

http://struts.apache.org/2.x/docs/iterator.html

Используйте "begin" и "end" атрибуты <s:iterator> тега для легкой для чтения петель.

Вы также можете играть OGNL игры, как:

<s:iterator status="stat" value="(5).{ #this }"> 

, которая будет цикл в пять раз.

Ценности могут исходить от объекта действия, как обычно.

+0

Спасибо. Я думаю об использовании конструкции OGNL – rKasun

1

Для использования взгляда на стороне JSP вашего приложения S2 вы можете использовать Struts2 Iterator tag.

Этот тег итератора принимает коллекцию как источник ввода итерации. Если вы используете S2 версии 2.1.7 или выше, вы можете воспользоваться преимуществами атрибутов begin, end и step. Все, что вам нужно, чтобы иметь коллекцию в вашем классе Action с ее getter и seters, а в вашем JP вы должны что-то сделать как

<s:iterator value="days"> 
    <p>day is: <s:property/></p> 
</s:iterator> 

Подробную информацию можно найти в документации тега

Вы свободны использовать S2, если тег внутри тега итератора, чтобы размещать различные условия в соответствии с вашими требованиями

+0

Спасибо. Извините, я забыл упомянуть, что здесь мы используем struts 2.0. Я думал о создании коллекции, как в вашем примере, но думал, что может быть лучший способ сделать похожий на цикл. – rKasun

+0

на стороне JSP, используя тег итератора S2 - лучший способ использования. Вы можете использовать тег 'if', чтобы разместить свою условную логику. –

Смежные вопросы