Primefaces Knurren funktioniert nicht in allen Seiten
Meine web hat eine gemeinsame Vorlage, d.h. xhtml file
während enthält growl
<p:growl id="message" showDetail="true" life="3000" />
Diese Vorlage wird verwendet, weiterhin in allen Seiten. Ich bemerkte, dass growl
arbeitet für die Seite index.xhtml
aber nicht im rest der Seiten. Unten ist der Ausschnitt von faces-config.xml
Datei-
<navigation-rule>
<display-name>index.xhtml</display-name>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>NORMAL_USER</from-outcome>
<to-view-id>/home.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Aber immer wenn ich mich auf die Seite zugreift home.xhtml
per link http://localhost:8080/portal/home.xhtml
, growl
anfängt zu arbeiten. In allen Seiten die ich benutze update=":message"
zu aktualisieren growl
. Was ist der übeltäter?
Unten ist index.xhtml
<ui:composition template="/template/common/base.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:define name="center">
<h:form>
<div align="center" style="margin-top: 10%; margin-bottom: 10%;">
<p:panelGrid columns="2">
<f:facet name="header">
#{msg.HEADER}
</f:facet>
<h:outputLabel for="username" value="#{msg.USERNAME}" />
<p:inputText id="username" value="#{client.user.username}"
required="true" requiredMessage="#{msg.USERNAME_REQUIRED_MSG}" />
<h:outputLabel for="password" value="#{msg.PASSWORD} " />
<p:password id="password" value="#{client.user.password}"
required="true" requiredMessage="#{msg.PASSWORD_REQUIRED_MSG}" />
<f:facet name="footer">
<div align="right">
<p:commandButton value="#{msg.LOGIN_BUTTON}" icon="ui-icon-check"
update=":message" action="#{client.login}" />
</div>
</f:facet>
</p:panelGrid>
</div>
</h:form>
</ui:define>
</ui:composition>
Unten ist base.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>My Web Portal</title>
<h:outputStylesheet library="css" name="default.css" />
</h:head>
<h:body>
<p:growl id="message" showDetail="true" life="3000" />
<h:link outcome="index" style="text-decoration: none;">
<div id="header" style="margin: 2px; width: 100%; text-align: center;">
<p:panel>
<h:outputText value="My Web Portal"
style="font-size: 20px; " />
</p:panel>
</div>
</h:link>
<div id="middle" style="margin: auto; width: 80%;">
<ui:insert name="center"></ui:insert>
</div>
<div id="footer"
style="clear: both; text-align: center; margin: 2px; width: 100%;">
<p:panel header="2013 All rights reserved. Designed by Ravi Joshi">
<h:link value="Home" outcome="index" />
<p:spacer width="10px;" />
<h:link value="About Us" outcome="index" />
<p:spacer width="10px;" />
</p:panel>
</div>
</h:body>
</html>
Der nächsten Seite home.xhtml
ist auch mit base.xhtml
in der gleichen Weise wie index.xhtml
ist, die es... Unten ist der Ausschnitt von it-
<ui:composition template="/template/common/base.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:define name="center">
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
</ui:define>
</ui:composition>
Ya sicher... Lassen Sie mich Bearbeiten Sie meine Frage...
Könnten Sie die set-Eigenschaft
ajax=false
für commandButton aufrufen #{client.login}
Methode in den index.xhtml?Ich werde die Frage beantworten 🙂
Mein Problem wird gelöst, indem die [in diesem Beitrag][1], Vielleicht hilft dir. [1]: stackoverflow.com/questions/9932446/...
InformationsquelleAutor Ravi Joshi | 2013-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sagt BalusC hier. Also in deinem Fall tun Sie die navigation zu einer anderen Seite und stucks in dieser Ansicht Status Fehler,
ajax=false
zeigt an, übermitteln Sie die Taste drücken, ohne AJAX, das ist der Grund, warum es funktioniert.Auch BalusC schlägt vor, verwenden Sie ein Skript, das den Fehler behebt hier.
InformationsquelleAutor Ömer Faruk Almalı