Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация REST навигации / 7 сообщений из 7, страница 1 из 1
04.07.2014, 15:59
    #38688119
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
Нужно реализовать REST навигацию. После учебника Хорстмана и Гугла получилось следующее:
car.xhtml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            <p:dataGrid var="car" value="#{postController.cars}" columns="3" rows="12">
                <p:column>
                    <p:panel header="#{car.autoMark}">
                        <h:panelGrid columns="1">
                            <h:outputText value="#{car.autoModel}" />
                            <h:button value="Подробно" outcome="carInfo" includeViewParams="true"> <!-- includeViewParams что именно сохраняет? указанные  <f:param/> ? -->
                                <f:param name="id" value="#{car.id}"/>
                            </h:button>
                        </h:panelGrid>
                    </p:panel>
                </p:column>
            </p:dataGrid>



далее идет страница carInfo.xhtml
Код: xml
1.
2.
3.
4.
5.
6.
    <h:body>
        <f:metadata>
            <f:viewParam name="carId" value="#{car.id}" /> <!-- что именно должно быть в  value? сейчас просто бин -->
        </f:metadata>
        <h:outputText value="#{car.id}" /> <!-- значение не отображается -->
    </h:body>


Скажите, где ошибка?
...
Рейтинг: 0 / 0
04.07.2014, 16:20
    #38688141
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
Вернее навигация работает, а интересует передача данных (car.id, car.autoMark, car.autoModel и т.д.) с страницы car.xhtml на страницу carInfo.xhtml . Как передать данные? Или только новая выборка из БД?
...
Рейтинг: 0 / 0
04.07.2014, 16:36
    #38688164
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
Есть подозрение, что названия выходных и входных параметров должны совпадать, сейчас они разные
Код: html
1.
2.
3.
<f:param name="id" value="#{car.id}"/>
...
<f:viewParam name="carId" value="#{car.id}" />
...
Рейтинг: 0 / 0
04.07.2014, 16:52
    #38688197
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
ivanraЕсть подозрение, что названия выходных и входных параметров должны совпадать, сейчас они разные
Код: html
1.
2.
3.
<f:param name="id" value="#{car.id}"/>
...
<f:viewParam name="carId" value="#{car.id}" />



Исправил, но значения все-равно не отображаются.
...
Рейтинг: 0 / 0
04.07.2014, 17:05
    #38688219
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
а собственно бин с именем "car" существует?
На странице car.xhtml #{car} указывает на элемент коллекции, а на странице carInfo.xhtml, вероятно, на пустое место?
...
Рейтинг: 0 / 0
04.07.2014, 17:28
    #38688276
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
ivanraа собственно бин с именем "car" существует?
На странице car.xhtml #{car} указывает на элемент коллекции, а на странице carInfo.xhtml, вероятно, на пустое место?

Вот бин
Код: java
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.
package bean;

import javax.inject.Named;

@Named
public class Car {
    
    private long id;
    private String autoMark;
    private String autoModel;
    
    public Car() {
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getAutoMark() {
        return autoMark;
    }

    public void setAutoMark(String autoMark) {
        this.autoMark = autoMark;
    }

    public String getAutoModel() {
        return autoModel;
    }

    public void setAutoModel(String autoModel) {
        this.autoModel = autoModel;
    }
}



Через этот бин наполняется коллекция на странице car.xhtml #{postController.cars} .
...
Рейтинг: 0 / 0
04.07.2014, 18:04
    #38688310
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация REST навигации
В книге написано следующее
ХорстманЧасто возникает необходимость в получении дополнительных данных после зада!
ния параметров представления. Например, после того как будет задан параметр пред!
ставления определенного товара, может потребоваться выбрать данные о свойствах
товара из базы данных для дальнейшей подготовки к отображению страницы с опи!
санием товара. В главе 8 будет показано, как возложить обязанности по выполнению
этой работы на обработчик события preRenderView.

Получается нужно все-равно делать запрос в бд для получения данных?

ХорстманПредусмотрен удобный сокращенный способ включения всех параметров пред!
ставления в строку запроса. Он состоит в том, что добавляется один атрибут:
<h:link outcome="index" includeViewParams="true" value="Skip">
С помощью этого способа можно переносить все параметры представления с од!
ной страницы на другую, что представляет собой обычное требование к приложению,
поддерживающему метод REST.
Для определения параметров представления может использоваться тег f:param.
Например:
<h:link outcome="index" includeViewParams="true" value="Skip">
<f:param name="q" value="#{quizBean.currentProblem + 1}"/>
</h:link>

Зачем тег includeViewParams если все-равно нужно указывать f:param ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация REST навигации / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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