Beispiel für eine statische JSF 2-Navigation

Die Navigation ist einer der leistungsstarken Punkte, die die Entwicklung der Webanwendung einfacher machen. JSF bietet vom ersten Tag an einen integrierten Navigationsmechanismus, der das Wechseln von einer Ansicht zur anderen ermöglicht. Der Navigationshandler ist für die Auswahl der nächsten JSF-Ansicht verantwortlich, wenn der Benutzer das Formular zurück auf den Server gesendet hat. Seit JSF 2.0 wurden neue Funktionen entwickelt, um den Navigationshandler wesentlich intelligenter zu machen. Statische Navigation ist eine der Navigationstechniken, sie ist nicht neu für JSF 2.0, sie existiert bereits in JSF 1.2, JSF 1.1 unterstützt diese Navigation jedoch nicht.

Lesen Sie auch:

  • JSF 2-Tutorials
  • JSF-Tutorials
  • Einführung in JSF

1. Indexansicht

index.xhtml

<html 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">
<h:head>
	<h:outputScript library="javax.faces" name="jsf.js"/>
</h:head>
<h:body>
	<f:view>
		<h1>JavaBeat JSF 2.2 Examples</h1>
		<h2>JSF2 Static Navigation Example</h2>
		<h:form prependId="false">
			<h:outputText value="This is An Index View !"/>
			<br/>
			<h:commandButton value="Go To Next View Via Static Navigation" action="nextView"/>
		</h:form>
	</f:view>
</h:body>
</html>

2. Nächste Ansicht

nextView.xhtml

<html 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">
<h:head>
	<h:outputScript library="javax.faces" name="jsf.js"/>
</h:head>
<h:body>
	<f:view>
		<h1>JavaBeat JSF 2.2 Examples</h1>
		<h2>JSF2 Static Navigation Example</h2>
		<h:form prependId="false">
			<h:outputText value="Next View !"/>
		</h:form>
	</f:view>
</h:body>
</html>

3. JSF-Gesichtskonfiguration

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
	version="2.2">
<application>
	<resource-bundle>
		<base-name>net.javabeat.jsf.application</base-name>
		<var>msg</var>
	</resource-bundle>
</application>
</faces-config>

4. Der Bereitstellungsdeskriptor (web.xml)

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5" metadata-complete="true">
	<context-param>
		<description>State saving method: 'client' or 'server'
						(=default). See JSF Specification 2.5.2
		</description>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.application.CONFIG_FILES</param-name>
		<param-value>/WEB-INF/faces-config.xml</param-value>
	</context-param>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>
</web-app>

5. JSF2-Demo zur statischen Navigation

Die folgenden Schnappschüsse zeigen Ihnen die Verwendung von Statische Navigation zum Navigieren von index.xhtml zu nextView.xhtml.

Statische JSF 2-Navigation – Beispiel 1

Beispiel für statische JSF 2-Navigation 2

Sie müssen die folgenden Punkte beachten, wenn Sie das verwenden Statische Navigation zum Erreichen Ihrer Navigation:

  • Der Wert des Aktionsattributs wird als bezeichnet Ergebnisdas Ergebnis ist nextView.
  • Ein Ergebnis kann optional einem zugeordnet werden ID anzeigenIn der JSF-Spezifikation wird eine JSF-Seite aufgerufen Sicht.

Wenn Sie für ein bestimmtes Ergebnis keine solche Zuordnung bereitstellen, wird das Ergebnis mithilfe der folgenden Schritte in eine Ansichts-ID umgewandelt:

  • Wenn das Ergebnis keine Dateierweiterung hat, hängen Sie die Erweiterung der aktuellen Ansicht an.
  • Wenn das Ergebnis nicht mit einem / beginnt, stellen Sie den Pfad der aktuellen Ansichts-ID /nextView.xhtml voran.
  • Die Zuordnung von Ergebnissen zur Ansichts-ID ist seit jsf2.0 optional. Sie mussten für jedes Ergebnis explizite Navigationsregeln angeben.
  • Ein Problem muss hier erwähnt werden: Unabhängig davon, ob das Ergebnis der Aktion inline oder durch eine verwaltete Bean-Eigenschaft bereitgestellt wurde, ist das Ergebnis dasselbe.

(wpdm_file id=37)

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen