powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Непонятки в JFS с h:dataTable
5 сообщений из 5, страница 1 из 1
Непонятки в JFS с h:dataTable
    #37820867
stateistat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть пример использования h:dataTable: http://www.mkyong.com/jsf2/jsf-2-datatable-example/
В примере шаблон выглядит:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"   
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      >
    <h:head>
    	<h:outputStylesheet library="css" name="table-style.css"  />
    </h:head>
    <h:body>
 
    	<h1>JSF 2 dataTable example</h1>
 
    		<h:dataTable value="#{order.orderList}" var="o"
    			styleClass="order-table"
    			headerClass="order-table-header"
    			rowClasses="order-table-odd-row,order-table-even-row"
    		>
 
    			<h:column>
    				<!-- column header -->
    				<f:facet name="header">Order No</f:facet>
    				<!-- row record -->
    				#{o.orderNo}
    			</h:column>
 
    			<h:column>
    				<f:facet name="header">Product Name</f:facet>
    				#{o.productName}
    			</h:column>
 
    			<h:column>
    				<f:facet name="header">Price</f:facet>
    				#{o.price}
    			</h:column>
 
    			<h:column>
    				<f:facet name="header">Quantity</f:facet>
    				#{o.qty}
    			</h:column>
 
    		</h:dataTable>
 
    </h:body>
</html>


Для заполнения h:dataTable дергается order.orderList. Пример отрабатывается нормально. Вывод данных есть.
Вопрос в следующем. Судя по логам, order.orderList дергается 3(!) раза. Не могу понять зачем и почему это происходит. Какой смысл в этом?
Может кто-нибудь сталкивался с этой проблемой.
...
Рейтинг: 0 / 0
Непонятки в JFS с h:dataTable
    #37821196
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это стандартное поведение, читайте про lifecycle jsf. После того как прочитаете - поставьте брейкпоинт на геттер и убедитесь лично как оно все работает:)
Что касается оптимизации - стандартный подход такой -

private List<?> data
public List<?> getData(){
if(data == null){
data = //populate..
}
return data;
}

Таким образом геттер реально отработает 3 раза, а обращение в базу будет всего одно
...
Рейтинг: 0 / 0
Непонятки в JFS с h:dataTable
    #37821276
stateistat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никЭто стандартное поведение, читайте про lifecycle jsf. После того как прочитаете - поставьте брейкпоинт на геттер и убедитесь лично как оно все работает:)
Что касается оптимизации - стандартный подход такой -

private List<?> data
public List<?> getData(){
if(data == null){
data = //populate..
}
return data;
}

Таким образом геттер реально отработает 3 раза, а обращение в базу будет всего одно
Спасибо. Решение с кешированием, первое что пришло в голову. Но я думал, что такое решение в этом конкретном случае будет извращением. :)
...
Рейтинг: 0 / 0
Непонятки в JFS с h:dataTable
    #37821858
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stateistatзабыл никЭто стандартное поведение, читайте про lifecycle jsf. После того как прочитаете - поставьте брейкпоинт на геттер и убедитесь лично как оно все работает:)
Что касается оптимизации - стандартный подход такой -

private List<?> data
public List<?> getData(){
if(data == null){
data = //populate..
}
return data;
}

Таким образом геттер реально отработает 3 раза, а обращение в базу будет всего одно
Спасибо. Решение с кешированием, первое что пришло в голову. Но я думал, что такое решение в этом конкретном случае будет извращением. :)

JSF само по себе извращение еще то:) На самом деле скоро привыкнете, вызов гттера много раз не самое интересное что вас ждет:)
...
Рейтинг: 0 / 0
Непонятки в JFS с h:dataTable
    #37823965
stateistat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никJSF само по себе извращение еще то:) На самом деле скоро привыкнете, вызов гттера много раз не самое интересное что вас ждет:)
Спасибо, добрый человек, за поддержку. :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Непонятки в JFS с h:dataTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]