我正在制作我的第一个主要移动网站,我对视图有一种奇怪的行为
<pm:page>
<pm:view id="viewName">
<ui:include src="home.xhtml" />
</pm:view>
<pm:view id="otherView">
<ui:include src="viewWhereThereIsTheForm.xhtml" />
</pm:view>
</pm:page>
如果我在第二个视图(otherView)中使用commandButton(h:或p :),页面将重新加载,并且每次显示第一个视图(viewName),即使表单中有必需的元素,按钮
示例:
<h:form>
<h:inputText value="#{upload.something}" required="true" />
<h:commandButton value="Upload" action="#{upload.upload()}" />
//or
<p:commandButton value="Send" action="#{upload.trySomething()}" />
</h:form>
我尝试了一些解决方案,但总是没有成功:
我唯一成功尝试的是
<p:commandButton value="Send" action="#{upload.tryLatLon()}" oncomplete="PrimeFaces.navigate('#viewName', {reverse : 'true'})" />
但它不适用于h:commandButton ...
我该如何停止?!
任何帮助将不胜感激!
(我正在使用PrimeFaces 3.5,PrimeFaces Mobile 0.9.4和JSF 2.2)
答案 0 :(得分:0)
您可能需要在<pm:content>
内添加<pm:view>
标记。
我尝试使用<h:outputLink>
在视图之间导航,如下面的代码所示:
<pm:page title="Mobile">
<pm:view id="mainView">
<pm:header title="Music Inventory" />
<pm:content>
<h:form id="mainForm">
<h:outputLink value="#artist?transition=slide">Artists</h:outputLink>
</h:form>
</pm:content>
</pm:view>
<pm:view id="artist">
<pm:header title="Artists">
<h:outputLink value="#mainView">Go to Home</h:outputLink>
</pm:header>
<pm:content>
<h:outputText value="Some detail of artists" />
</pm:content>
</pm:view>
</pm:page>
Primefaces Mobile网站上提供的一些示例无法正常显示。
答案 1 :(得分:0)
您应该将您的primefaces更新为5.0以获得更好的结果。我有同样的问题,我尝试了很多我无法解决的问题,将我的表面更新到最新版本解决了这个问题。
这是pom.xml文件中的一段代码,您可以将版本从3.5更新到5.0,只需更改版本标记中的数字。
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.0</version>
</dependency>