Перенаправление JSF на другую страницу и открыть диалоговое окно

#jsf #redirect #jsf-2 #primefaces

#jsf #перенаправление #jsf-2 #primefaces

Вопрос:

Сейчас я борюсь с перенаправлением. Я хочу перенаправить с одной страницы на другую с использованием h: CommandButton / p:CommandButton . И это работает, но мне нужно передать аргумент / параметр с этим запросом. А затем используйте этот параметр сразу после перезагрузки новой страницы.

Первая страница:

             <p:dataTable id="list" var="oneRow"
                         value="#{test.get_list()}" rowKey="#{oneRow.id}"
                         rows="15" paginator="true" paginatorAlwaysVisible="false"
                         paginatorPosition="bottom"
                         selection="#{test.oneRowObject}"
                         paginatorTemplate="{PreviousPageLink} {PageLinks} {NextPageLink}"
                         emptyMessage="----------" >

                <p:column selectionMode="single"/>

                <p:column headerText="ID" >
                    #{oneRow.getID()}
                </p:column>

            </p:dataTable>
 

И есть CommandButton, который должен перенаправлять со страницы 1 на страницу 2, и на этой странице он должен открыть диалоговое окно.

Как я могу это сделать? У вас есть какие-либо предложения или примеры?

p — primefaces

Ответ №1:

Я думаю, вам следует использовать <f:param/>

 <h:commandButton value="Send" action="#{bean.method}">
    <f:param name="paramName" value="someValue" />
</h:commandButton>
 

Комментарии:

1. Привет, я пытался это использовать, но у меня возникли некоторые проблемы с получением значения параметра в bean (не bean, который используется в атрибуте действия CommandButton, а bean, который используется на перенаправленной странице)

2. Что касается открытия <p:dialog> после загрузки страницы, я использовал <p:remoteCommand> с опцией autoRun=»true», работает как шарм, и JS не требуется: D

3. так что я рад за вас =)