首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导航p:commandButton Primefaces Mobile

导航p:commandButton Primefaces Mobile
EN

Stack Overflow用户
提问于 2013-02-21 01:22:27
回答 2查看 3.5K关注 0票数 1

在我的应用程序中,如果在<pm:view id="mobileLogin">中登录成功,则下一个视图是<pm:view id="mobileTree">。在mobileTree视图中,我希望commandButton调用一个将返回字符串'pm:mobileTree?reverse=true'‘的注销方法。问题是这是不起作用的。有什么想法吗?

我的代码:

代码语言:javascript
运行
复制
 <!-- 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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-25 10:39:56

在服务器中执行方法并导航到其他pm:view的正确方法如下所示

代码语言:javascript
运行
复制
 <p:commandButton value="Text of the button" actionListener="#{youBean.yourLogOutMehod}" action="pm:theViewYouWantToNavigate" update="theViewYouWantToNavigate" />

在移动视图es中导航的另一种方法是使用标题

代码语言:javascript
运行
复制
<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

票数 3
EN

Stack Overflow用户

发布于 2013-02-26 04:04:43

正如PrimeFaces的移动手册(第12页)中所解释的,如果您想调用服务器操作,然后导航到id为myViewIdpm:view,则必须执行以下操作:

代码语言:javascript
运行
复制
<p:commandButton value="Logout" oncomplete="PrimeFaces.navigate('#myViewId', {reverse : 'true'})" action="#{loginBean.logout}" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14986033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档