LINUX.ORG.RU

REST навигация Error

 , ,


0

1

При реализации REST навигации возникает ошибка PropertyNotFoundException. Реализация на данный момент

car.xhtml - построение списка cars через dataGrid

            <h:form>
                <p:dataGrid var="car" value="#{postController.cars}" columns="3" rows="12">
                    <p:column>
                        <p:panel header="#{car.autoMark}">
                            <h:panelGrid columns="1">
                                <h:button value="Подробно" outcome="carInfo" includeViewParams="true">
                                    <f:param name="id" value="#{car.id}"/>
                                    <f:param name="autoMark" value="#{car.autoMark}"/>
                                </h:button>
                                <h:commandButton value="Details" action="carInfo?faces-redirect=true&amp;includeViewParams=true" />  
                            </h:panelGrid>
                        </p:panel>
                    </p:column>
                </p:dataGrid>
            </h:form>

carInfo.xhtml - страница детальной инфо

    <f:metadata>
        <f:viewParam name="id" value="#{car.id}" />
        <f:viewParam name="autoMark" value="#{car.autoMark}" />
    </f:metadata>
    <h:head>
        <title>CarInfo</title>
    </h:head>
    <h:body>
        <h:form>
            <h:outputText value="id = #{car.id}" />
            <h:outputText value="autoMark = #{car.autoMark}" />
        </h:form>
    </h:body>

Бин Car.java

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

При переходе с страницы car на carInfo ошибка

FATAL:   JSF1073: javax.faces.FacesException caught during processing of PROCESS_VALIDATIONS 3 : UIComponent-ClientId=, Message=/carInfo.xhtml @9,52 value="#{car.id}": Target Unreachable, identifier 'car' resolved to null
FATAL:   /carInfo.xhtml @9,52 value="#{car.id}": Target Unreachable, identifier 'car' resolved to null
javax.faces.FacesException: /carInfo.xhtml @9,52 value="#{car.id}": Target Unreachable, identifier 'car' resolved to null

Ссылка при переходе

http://localhost:8080/PROJECT/сarInfo.xhtml?id=1&autoMark=ВАЗ

Получается данные считываются с страницы car, но странице carInfo не присваиваются, почему?


У тебя бин RequestScope. А эти две страницы существуют в разных реквестах, как я понял. В качестве шаманства - сделай бин SessionScoped и проверь, работает конкретно этот участок или нет. Если да - рекомендую еще раз прочитать о областях видимости бинов (scope) в JSF и CDI бинах. Возможно придется пилить свой scope.

TheKnight ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.