JSF: использование одной и той же страницы JSP для разных результатов - PullRequest
1 голос
/ 20 апреля 2010

Можно ли использовать навигационный футляр, показанный ниже, с тем же идентификатором вида, но отличающимся от исходов? В управляемом компоненте я хотел сравнить значения исходных данных и выбрать панель группы, которую я бы отобразил на странице. Как я могу получить значение исхода из моего управляемого компонента?

<navigation-case>
    <from-outcome>modifyphone</from-outcome>
    <to-view-id>/modifytelephone.jsp</to-view-id>
</navigation-case>
<navigation-case>
    <from-outcome>confirmmodifyphone</from-outcome>
    <to-view-id>/modifytelephone.jsp</to-view-id>
</navigation-case>
<navigation-case>
    <from-outcome>submitmodifyphone</from-outcome>
    <to-view-id>/modifytelephone.jsp</to-view-id>
</navigation-case>

1 Ответ

2 голосов
/ 20 апреля 2010

Вы не можете использовать результаты для этого. Просто назначьте его как свойство bean-компонента:

public String submit() {
    this.action = MODIFY; // or CONFIRM or SUBMIT
    return "modifyphone";
}

(да, это перечисления)

и затем на странице JSP:

<h:panelGroup rendered="#{bean.action == 'MODIFY'}"></h:panelGroup>
<h:panelGroup rendered="#{bean.action == 'CONFIRM'}"></h:panelGroup>
<h:panelGroup rendered="#{bean.action == 'SUBMIT'}"></h:panelGroup>
...