2014-02-20 1 views
3

Я использую отображение тег для отображения результирующего набора. Вот как я его реализую.Разбивка не работает с помощью дисплея тег

<display:table name="w" pagesize="10" export="true" /> 

Здесь я установил pagesize =10 и когда я запустить приложение, записи будут выгружаться на размер 10, но когда я нажимаю на следующей странице, чтобы просмотреть следующий набор записей, я получаю пустой результирующий набор.

например, если есть 12 записей, 10 из них отображаются на первой странице, и когда я нажимаю на следующем, чтобы посмотреть последнюю страницу, я получаю пустую страницу. Почему это происходит ???

w содержит список всех моих записей:

request.setAttribute("w", resultrechparcritere); 
+0

Лично я не использую * дисплей тег * для отображения данных в табличном формате (также на странице мудра образом). Хотя это облегчает реализацию подкачки, это создает массу проблем, когда нам нужно что-то другое, чем его стандарт. Это может привести к излишним затратам времени. Более того, концепция пейджинга должна выполняться непосредственно на базе базы данных, о которой идет речь, которая не должна происходить после получения полного списка строк из этой базы данных. – Tiny

+0

@ user3333294: не пытайтесь отредактировать мой ответ, чтобы ответить мне, вместо этого используйте комментарии. Если теперь ваша проблема заключается в том, что запрос повторно запускается при каждом вызове действия, это еще одна проблема, и затем нужно открыть другой вопрос, так как этот вопрос касается неработоспособной разбивки на страницы, и я заработал. Вы также должны принять ответ, пометив V в левом верхнем углу ответа. И совершив небольшой тур здесь: http://stackoverflow.com/tour –

+0

, потому что отображение страниц displaytag работает через запросы, тогда действие будет воссоздаваться каждый раз. Если вы хотите предотвратить запрос к базе данных для каждого запроса, сначала поставьте свой набор результатов в сеанс и получите его позже. ТАКЖЕ прочитал мое предыдущее сообщение. Различные проблемы = новый вопрос, и пожалуйста, примите эту, так как он работал –

ответ

2

Стол должен быть в состоянии связаться с Акцию при работе с разбиением на страницы,

тогда вы должны включить requestURI, наряду с (не -mandatory поля, если я хорошо помню) keepStatus и uid:

<display:table requestURI = "myActionURL" 
       keepStatus = "true" 
       pagesize = "10" 
        name = "w" 
         uid = "myTable" 
        export = "true" /> 

Затем, вы можете даже перехватить и tweak/hack the pagination parameters by yourself, чтобы программно достичь определенной страницы.