使用primefaces-mobile的ajax = false的commandButton无法正确导航

时间:2013-08-09 21:21:24

标签: jquery-mobile primefaces-mobile

我注意到带有ajax = false的commandButton在primefaces mobile中不起作用。当用户按下按钮时,我想进行非ajax调用以导航到不同的URL。如果我删除ajax = false,它会命中bean管理器类,但这不会导航到不同的页面。有什么办法解决这个问题?

ui:composition template="/mobile/templates/masterLayout.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:cc="http://java.sun.com/jsf/composite/composite"
    xmlns:pm="http://primefaces.org/mobile">
    <ui:define name="center">
        <pm:page title="Test">
            <pm:view id="main">
                <pm:header title="Test" swatch="b" />
                <pm:content>
                    <p:messages />
                    <h:form id="mainForm" prependId="false">
                        <p:inputText id="title" value="#{bean.title}"
                            required="true" label="title" />
                        <p:inputText id="wbUserName"
                            value="#{bean.creator}" required="true"
                            label="User name" />
                        <p:commandButton id="dialogButton" value="Create" ajax="false"
                            actionListener="#{bean.create}">
                        </p:commandButton>
                    </h:form>
                </pm:content>
            </pm:view>
        </pm:page>

</ui:composition>

Upate:

我用h:commandButton替换了p:commandButton,我可以点击托管bean函数,但它没有转发到它想要的url。

bean.class

 public String create(){
                    return "pretty:newPage";
    }

漂亮-config.xml中

 <url-mapping id="newPage">
        <pattern value="/test/"/>
        <view-id value="/views/test.jsf"/>
    </url-mapping>

1 个答案:

答案 0 :(得分:0)

似乎PrimeFaces移动广告代码中存在导致所有导航失败的错误:请参阅此处的示例应用:http://ocpsoft.org/wp-content/uploads/2013/08/pretty-prime-post-mobile.tar.gz?0decbc - 正如您所见。应用程序导航对于非移动标签成功运行,但是使用主要面移动标签,导航失败。我已经通知了这个问题的主要开发者。