2013-02-20 4 views
1

В моем приложении, если логин успешно завершен в <pm:view id="mobileLogin">, следующий вид: <pm:view id="mobileTree">. В представлении mobileTree я хотел бы, чтобы commandButton вызывал метод выхода, который возвращал строку 'pm:mobileTree?reverse=true'. Проблема в том, что это не работает. Есть идеи?Навигация p: commandButton Primefaces Mobile

Мой код:

<!-- Login View --> 
    <pm:view id="mobileLogin"> 
     <pm:header title="LiteDoc" /> 

     <pm:content> 
      <h:form id="mobileLoginForm"> 
       <p:outputPanel id="container"> 
        <h:panelGroup rendered="#{not loginManager.loggedIn}" > 
         <p:inputText id="username" value="#{loginManager.username}" /> 
         <p:watermark for="username" value="Login" /> 
         <p:password id="password" value="#{loginManager.password}" /> 
         <p:watermark for="password" value="Senha" /> 

         <p:separator /> 

         <p:commandButton value="Login" icon="refresh" process="@form" update=":mobileTreeForm" action="#{loginManager.loginMobile}" /> 
        </h:panelGroup> 
       </p:outputPanel> 
      </h:form> 
     </pm:content> 
    </pm:view> 

    <!-- Tree View --> 
    <pm:view id="mobileTree"> 
     <pm:header title="LiteDoc"> 
      <!-- Here's the problem --><p:commandButton value="Go" action="pm:mobileLogin?reverse=true" /> 
     </pm:header> 

     <pm:content> 
      <h:form id="mobileTreeForm"> 

       <p:dataList value="#{cabinetManager.cabinets}" var="cabinet" rendered="#{loginManager.loggedIn}"> 
        <p:column> 
         <h:outputText value="#{cabinet.name}" /> 
        </p:column> 
       </p:dataList> 

      </h:form> 
     </pm:content> 
    </pm:view> 
+0

вы пробовали решения при условии? Не забудьте принять ответ, который помог (наиболее) – perissf

ответ

3

Правильный способ выполнить метод на сервере и перейти к другой pm:view это

<p:commandButton value="Text of the button" actionListener="#{youBean.yourLogOutMehod}" action="pm:theViewYouWantToNavigate" update="theViewYouWantToNavigate" /> 

Другой способ, которым вы можете перемещаться в мобильных просмотров эс использует a заголовок

<pm:view id="youSourceView"> 
     <pm:header title="YourTitleView"> 
      <f:facet name="left"><p:button value="HOME" icon="home" href="#yourHomeViewID?reverse=true"/></f:facet> 
      <f:facet name="left"><p:button value="BACKVIEW" icon="back" href="#yourBackViewID?reverse=true"/></f:facet> 
     </pm:header> 
     <pm:content> 
      <!-- your content in the view --> 
     </pm:content>  
</pm:view> 

Вы можете попытаться выйти из вас в Bean и сделать простой переадресация на /loginPage.jsf он обновит URL-адрес и загрузит по умолчанию первый pm:view

0

Как описано в мобильном руководстве PrimeMaces (стр. 12), если вы хотите вызвать действие сервера и, после этого, перейти к pm:view с идентификатором myViewId, вы должны сделать следующее:

<p:commandButton value="Logout" oncomplete="PrimeFaces.navigate('#myViewId', {reverse : 'true'})" action="#{loginBean.logout}" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^