> Inhalt: Einführung in das Programmieren mit Java > Tutorial: Erstellung von Anwendungen mit Java-Server-Faces (JSF) 

Tutorial: JSF zur Erfassung und Anzeige von Daten (Java_JSF_02) – JSF-Code für die Anzeige einer Tabelle auf der Webseite

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, dass Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2009-08-28

Voraussetzungen für das Verständnis dieses Dokuments:

Grundlegende Kenntnisse im Erstellen von Web-Sites entsprechend dem JSF (Java Server Faces) Modell.
Die geforderten Kenntnisse werden im
Tutorial: Einfache Benutzeroberfläche mit JSF und Aufruf von Methoden eines EJB (Java_JSF_01) vermittelt.

Kenntnisse im Erstellen von Java-Klassen für ein EJB (Enterprise Java Bean) entsprechend dem EJB3-Standard.
Die geforderten Kenntnisse werden im
Tutorial: Session Bean mit Datenbank-Zugriff, EJB3-Standard (Java_EJB_07) vermittelt.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Arbeitszeit:
1 bis 2 Stunden, abhängig von Ihrer Routine im Erstellen von HTML- und JSP-Seiten und dem Codieren in Java
.

In diesem Schritt des Tutorials wird die Web-Seite mit den JSF-Elementen um eine Tabelle ergänzt.

Vorteil derartiger Tabellen ist, dass die Anzahl der Zeilen dynamisch entsprechend den anzuzeigenden Daten angepasst wird.

Das Anzeigen von Daten in Tabellen erfordert aber auch zusätzlichen Aufwand weil für eine Tabellenzeile eine Java-Klasse definiert werden muss.
Aus einem Objekt dieser Klasse können die JSF-Klassen die Daten, die in einer Tabellenzeile angezeigt werden sollen, auslesen.

Inhaltsverzeichnis:

Voriger Schritt: Project einrichten und vereinfachten Code erstellen 

Dank für Vorarbeiten 
Vorbemerkung 
Vorbedingungen 

Java-Klasse ChatEntry.java mit den Attributen für eine Tabellenzeile erstellen 
Adaptieren der Java-Klasse
JSFTutorial02.java 
Adaptieren der Datei
ChatManagement.jsp mit der Web-Seite 

WAR-Datei neu packen und 'Deploy' der WAR-Datei im Java-Application-Server (JAS) 
Test 

Hinweise zur Fehlersuche 

Gesamter Code am Ende des Schrittes 
Datei
index.html 
Datei
ChatManagement.jsp 
Datei
JSFTutorial02.java 
Datei
ChatEntry.java 
Datei
web.xml 
Datei
faces-config.xml 

Weitere Schritte und verwandte Dokumentation 

Nächster Schritt: EJB für Datenbank-Zugriff verwenden 

Dank für Vorarbeiten

Eine umfassende Anleitung für das Verwenden von Tabellen in JSF-Seiten finden Sie unter http://balusc.blogspot.com/2006/06/using-datatables.html.
Diese Anleitung enthält auch zahlreiche Beispiele für eine 'Verfeinerung' der Darstellung – z.B. Ändern der Hintergrundfarbe bei geraden und ungeraden Tabellenzeilen.

zum Inhaltsverzeichnis

Vorbemerkung

Obwohl Eclipse in 'deutscher Version' installiert werden kann, sind die Abbildungen in diesem Tutorial mit der 'english Version' erstellt.
Grund ist, daß zum Zeitpunkt der Erstellung dieses Dokumentes (Februar 2009) die Eclipse-Texte nur sehr unvollständig ins Deutsche übersetzt sind.
Damit ist (meiner Meinung nach)
1.) Eclipse in deutscher Version wesentlich schwerer verständlich als in englischer Version und
2.) wenn Eclipse weiter übersetzt wird, ist dieses Dokument stark abweichend von den dann vorhandenen deutschen Texten.

In der Zwischenzeit gibt es Eclipse-Plugins die Anfangs-Dateien mit Code-Gerüsten bzw. Parametern für JSF, generieren.
In diesem Tutorial wird bewusst darauf auf die Verwendung eines derartigen Plugins verzeichtet.

Aufgabe dieses Tutorials ist auch, grundlegende Zusammenhänge einzelner Dateien, die zu einer Web-Site entsprechend dem JSF-Framework gehören, zu vermitteln.
Diese Zusammenhänge sind leichter zu verstehen wenn die Dateien und deren Inhalt 'von Grund auf' erstellt werden – und nicht durch ein zufällig ausgewähltes Plugin vorgegeben werden.

Bei der 'Produktion' von Software spricht aber nichts dagegen wenn Sie sich durch ein Plugin Ihrer Wahl unterstützen lassen ;-).

zum Inhaltsverzeichnis

Vorbedingungen:

zum Inhaltsverzeichnis

Java-Klasse ChatEntry.java mit den Attributen für eine Tabellenzeile erstellen

Diese Klasse enthält die Variablen für jene Werte, die in einer Zeile der Tabelle, die mit JSF-Anweisungen innerhalb der Webseite definiert ist, angezeigt werden sollen.
Eine nähere Erläuterung finden Sie in den Kommentaren innerhalb des Java-Codes.

Zum Erstellen der Datei wird das Verzeichnis 'src/java' (innerhalb der Projects Java_JSF_02) mit der rechten Maustaste angeklickt und dann New > Class ausgewählt.

Detaillierte Anleitungen inklusive Abbildungen der Fenster finden Sie im Dokument Tutorial: Einfache Benutzeroberfläche mit JSF und Aufruf von Methoden eines EJB (Java_JSF_01) – JSF-Code in der JSP-Datei verwenden und Java-Code in eigener Datei > Erstellen der Datei mit der Java-Klasse.

Im anschließend geöffneten Fenster ('New Java Class') werden der Name des Java-Packages (js_jsf02) und der Java-Klasse (ChatEntry) festgelegt.
Alle anderen vorgegebenen Werte werden nicht verändert und das Fenster durch Anklicken des Schaltfläche
[ Finish ] geschlossen.

 


Die Datei ist jetzt unterhalb des Verzeichnisses für Java-Code (src/java) im 'Package Explorer' von Eclipse gelistet.

Unter Umständen ist das Verzeichnis nicht sofort sichtbar sondern wird erst angezeigt, wenn mit der linken Maus-Taste das kleine Dreieck neben dem Project bzw. dem Verzeichnis angeklickt wird.

Der Java-Code für diese Datei ist unter Gesamter Code am Ende des Schrittes > Datei ChatEntry.java dokumentiert und kann in die geöffnete Datei kopiert werden.

 


 

Diese Java Klasse enthält jene Variablen, die innerhalb einer Tabellenzeile auf der Web-Seite (Datei ChatManagement.jsp) angezeigt werden.
Damit die Werte von den Klassen des JSF-Frameworks aufbereitet werden können, sind für die Variablen 'get' und 'set' Methoden zu implementieren; die Beispiele für eine Variable finden Sie im anschließend.

zum Inhaltsverzeichnis

Adaptieren der Java-Klasse JSFTutorial02.java

Die im vorigen Schritt erstellte Java-Klasse wird erweitert um die neuen Variablen in der Datei für die Web-Seite (Datei ChatManagement.jsp) bearbeiten zu können.
Die Änderungen in der Datei für die Web-Seite werden im folgenden Abschnitt (
Adaptieren der Datei ChatManagement.jsp mit der Web-Seite) vorgestellt.

Den kompletten Code für diesen Schritt finden Sie im Abschnitt Datei JSFTutorial02.java; Sie können diesen Code kopieren oder die markierten Änderungen manuell in die bestehende Datei einfügen.

Die Änderungen fügen jene Variablen und Methoden ein, um die in diesem Schritt zusätzlich eingefügte Tabelle in der Web-Seite (Datei ChatManagement.jsp) füllen zu können.
In diesem Schritt wird die Tabelle nur mit fixen Werten gefüllt; das Lesen von der Datenbank wird dann im nächsten Schritt vorgestellt.

zum Inhaltsverzeichnis

Adaptieren der Datei ChatManagement.jsp mit der Web-Seite

Die im vorigen Schritt erstellte Web-Seite wird um eine Tabelle erweitert.

Den kompletten Code für diesen Schritt finden Sie im Abschnitt Datei ChatManagement.jsp; Sie können diesen Code kopieren oder die markierten Änderungen manuell in die bestehende Datei einfügen.

Die einzelnen JSF-Anweisungen für eine Tabelle innerhalb einer Web-Seite finden Sie anschließend.

zum Inhaltsverzeichnis

WAR-Datei neu packen und 'Deploy' der WAR-Datei im Java Application Server (JAS)

Das Packen der WAR-Datei ist mit Abbildungen am Ende des Abschnitts Project einrichten und vereinfachten Code erstellen > Erstellen der 'Packaging Configuration' für die Web-Archive- (WAR-) Datei (voriger Schritt des Tutorials) beschrieben.

Das Deploy für JBoss und Glassfish JAS sind unter Tutorial: Einfache Benutzeroberfläche mit JSF und Aufruf von Methoden eines EJB (Java_JSF_01) – Erstellen von HTML-Dateien und Packen in ein WAR (Web-Archive) > 'Deploy' der WAR-Datei im Java Application Server (JAS) und Test beschrieben; eine Adaptierung für dieses Tutorial werden Sie mit dem bisher erworbenen Wissen sicher schaffen ;-).

zum Inhaltsverzeichnis

Test

Die Web-Site wird in einem Web-Browser aufgerufen.
Dabei ist die TCP/IP-Adresse (127.0.0.1) jene des 'localhost'.
Die Verwendung dieser Adresse ist notwendig wenn der JBoss JAS mit den Standard-Sicherheitseinstellungen gestartet wurde.
Dann muß der Web-Browser auf dem selben Computer aufgerufen werden auf dem auch JBoss läuft.

Wenn Sie mit JBoss vertraut sind und auch den Zugriff von anderen Computern erlaubt haben können Sie selbstverständlich auch von einem anderen Computer zugreifen wenn Sie die relevante TCP/IP-Adresse verwenden.

Für 5 Sekunden wird der Inhalt der Datei 'index.html' angezeigt.

 
 

Nach 5 Sekunden Wartezeit wird die Seite für die Erfassung und Anzeige des Textes angezeigt.

Sie sehen die Tabelle.

 
 

Zusätzlich können Sie mit einem Text im Eingabefeld testen ob nach dem Anklicken der Schaltfläche [ Beitrag senden ] die Uhrzeit in der Tabelle verändert ist.

 
 

zum Inhaltsverzeichnis

Hinweise zur Fehlersuche

Im Gegensatz zum Codieren in Java kann bei den JSF-Anweisungen keine Syntax-Überprüfung durchgeführt werden.
Ein – vielleicht leicht zu übersehender – Tippfehler führt dazu, dass die Web-Seite nicht wie erwartet funktioniert oder schon beim 'deploy' an den JAS eine kryptische Fehlermeldung auftritt.

Als LeserIn dieses Tutorials haben Sie vermutlich wenig Erfahrung mit der Eingrenzung eines Fehlers – deswegen folgen leicht auszuführende Schritte zur Eingrenzung des Fehlers.

Prüfen des Java Application Server (JAS) mit fertigen WAR- und EAR-Dateien

Es ist nicht ausgeschlossen, dass die Installation oder Konfiguration des JAS das korrekte Verarbeiten von WAR- oder EAR-Dateien verhindert.
Um diese Fehlermöglichkeit auszuschliessen, können Sie folgende Dateien Herunterladen und zum Testen verwenden:
Java_JSF_02b.war  

Dies Datei wurde mit der JBoss Version 5.0.1.GA und Glassfish Version 2.1 getestet – für andere JAS kann leider keine Garantie übernommen werden.
Das erwartete Ergebnis finden Sie im Abschnitt
Test.

Prüfen auf Tippfehler wenn Sie die Dateien nicht aus diesem Tutorial kopiert haben

Wenn Sie die Dateien selbst getippt und vielleicht gleich Modifikationen vorgenommen haben ist es sehr wahrscheinlich, dass ein oder mehrere Tippfehler der Grund für das Nicht-Funktionieren sind.
Bei den JSF-Anweisungen und den darin verwendeten Referenzen auf Java-Klassen und deren Methoden ist die Übereinstimmung von Groß- und Kleinschreibung wichtig !

Eine Liste möglicher Ursachen finden Sie im Dokument Mögliche Fallstricke bei der Entwicklung von Anwendungen mit JSF (Java Server Faces).

Kopieren Sie die Dateien aus diesem Tutorial und Prüfen Sie die jeweiligen 'Packaging configurations'

Wenn Sie bis jetzt die Ursache für den Fehler nicht gefunden haben empfehle ich folgendes Vorgehen:

zum Inhaltsverzeichnis

Gesamter Code am Ende des Schrittes

Datei index.html

Der Inhalt dieser Datei wurde in diesem Schritt nicht verändert.

<html>
<head><title>
JavaScout :: Java-Server-Faces (JSF) Tutorial mit DB-Zugriff (Java_JSF_02)</title></head>
<body>
  <meta
http-equiv="refresh" content="5; URL=ChatManagement.jsf">
  Das ist die
<i>index.html</i> Datei.<br>
  <br>
  <h1>
Willkommen beim Tutorial f&uuml;r Java-Server-Faces (JSF) mit Zugriff auf eine Datenbank !</h1><br>
  <br>

  Das ist die Einstiegsseite – von hier werden Sie automatisch auf die Web-Seite f
&uuml;r die Ein- und Ausgabe der Daten weitergeleitet.<br>
  <br>

<a href="ChatManagement.jsf"><p align=CENTER>Gleich gehts automatisch weiter ...<br>
  
gehts nicht automatisch weiter, dann auf diesen Text klicken ! </p></a>
</body>
</html>

zum Inhaltsverzeichnis

Datei ChatManagement.jsp

Der Code in dieser Datei ist nur vorläufig.
In diesem Schritt des Tutorials wird zusätzlich zum Grundgerüst eine Tabelle eingefügt.
Die Vervollständigung der Version bis zur Einbindung des Datenbank-Zugriffs folgt in weiteren Schritten.

Gegenüber dem vorigen Schritt zusätzlich eingefügte Teile sind mit gelbem Hintergrund versehen.

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<f:view>
<html>
<head>
  <title>
JavaScout :: Java-Server-Faces (JSF) Tutorial mit DB-Zugriff (Java_JSF_02)</title>
</head>
<body>
    
Das ist die <i><b>ChatManagement.jsp</b></i> Datei.<br>
    <br>
    <h1>
Willkommen beim Zwischentest des Tutorials für Java-Server-Faces (JSF) mit Zugriff auf eine Datenbank !</h1>.<br>
    <br>
    Ziel dieses Schrittes ist, eine Tabelle in die Web-Seite einzufügen.<br>
    
Die Tabelle wird vorläufig mit fixen Werten gefüllt; noch nicht mit Werten von der Datenbank.<br>
    <br>
    <br>
    <h:form
id="Step01Form">
      
Ihr Beitrag zum Chat, bitte:<br>
      <h:inputTextarea
rows="10" cols="50" value="#{SymbolicBeanName.chatText}"/><br>
      <br>
      <h:commandButton
action="storeChatText" value="Beitrag senden"/><br>
    </h:form>
    <br>
    
Eingegebener Text (zur Kontrolle):<br>
    <h:outputText
value="#{SymbolicBeanName.chatText}"/><br>
    <br>
    <br>
    
Tabelle mit Fantasie-Einträgen:<br>
    <h:dataTable
value="#{SymbolicBeanName.chatEntries}" var="chatEntry" border="1"><br>
      <h:column>
        <f:facet
name="header">
          <h:outputText
value="Eintrag vom"/>
        </f:facet>
        <h:outputText
value="#{chatEntry.erstellt_Timestamp}"/>
      </h:column>
      <h:column>
        <f:facet
name="header">
          <h:outputText
value="TCP/IP-Adresse"/>
        </f:facet>
        <h:outputText
value="#{chatEntry.erstellt_TCPIP_Adresse}"/>
      </h:column>
      <h:column>
        <f:facet
name="header">
          <h:outputText
value="Beitrags-Text"/>
        </f:facet>
        <h:outputText
value="#{chatEntry.message_Text}"/>
      </h:column>
    </h:dataTable>

</body>
</html>
</f:view>

zum Inhaltsverzeichnis

Datei JSFTutorial02.java

Der Code in dieser Datei ist nur vorläufig.
In diesem Schritt des Tutorials werden die Methoden, die für die JSF-Tabelle innerhalb der Webseite benötigt werden, eingefügt.
Die Vervollständigung der Version bis zur Einbindung des Datenbank-Zugriffs folgt in weiteren Schritten.

Gegenüber dem vorigen Schritt zusätzlich eingefügte Teile sind mit gelbem Hintergrund versehen.

package js_jsf02;
/*
 * Diese Klasse enthält Methoden für den Austausch der Werte zwischen der in JSF-Code festgelegten
 * Ein- bzw. Ausgabefeldern der Web-Seite (ChatManagement.jsp) und den in dieser Klasse definierten Variablen.
 * In einem weiteren Schritt werden die Werte aus dieser Klasse auf die Datenbank-Tabelle geschrieben bzw.
 * von der Datenbank-Tabelle gelesen. */

/*
 * Import der Bibliothek und der Klasse für die Umwandlung von Datum/Zeit im Format 'Timestamp'
 * in eine Zeichenkette. */
import java.text.DateFormat;
/*
 * Import der Bibliothek für die Behandlung 'Vector' und 'Locale'. */
import java.util.*;
/*
 * Deklaration der Klasse; diese muss 'public' sein sonst
 * können die Methoden der JSF-Klassen nicht darauf zugreifen. */
public class JSFTutorial02 {
/*
 * Deklaration der Variablen für den Chat-Text der auf der Web-Seite eingegeben und
 * wieder angezeigt wird. Als 'private' deklariert weil über die JSF-Klassen der Zugriff darauf
 * nur über die get- und set-Methoden möglich ist.
 * Der Anfangswert wird zugewiesen um zu demonstrieren, dass dieser Wert auch bei der
 * anfänglichen Anzeige der Web-Seite angezeigt wird. */
  
private String ChatText = "Chat-Beitrag hier eintippen . . .";
/*
 * Deklaration des Vectors mit den Objekten (der Klasse 'ChatEntry') für die Anzeige der
 * Tabellenzeilen auf der Webseite mit den JSF-Anweisungen. */
  
private Vector<ChatEntry> vecChatEntries = new Vector<ChatEntry>();
/*
 * Methode zum Übertragen des auf der Web-Seite eingegebenen Chat-Textes in die Variable dieser Klasse. */
  
public void setChatText(String parmChatText) {
    
ChatText = parmChatText;
  
}
/*
 * Methode zum Übertragen des Namens in der Variable dieser Klasse auf das passende Feld der Web-Seite. */
  
public String getChatText() {
    
return ChatText;
  
}
/*
 * Methode zum Übertragen des Vector mit den Werten für die anzuzeigenden Tabellenzeilen auf der Web-Seite. */
  
public Vector<ChatEntry> getChatEntries() {
/*
 * Für diesen Schritt des Tutorials wird die 'Tabelle' mit fixen Werten gefüllt.
 * In einem weitern Schritt wird dann die 'Tabelle' mit den Werten aus der Datenbank-Tabelle gefüllt. */

/*
 * Über eine for-Schleife werden 5 Tabellenzeilen erstellt. */

    
for (int i=1;i<=5;i++) {
/*
 * 'Construct' eines Objektes für eine Tabellenzeile. */

      ChatEntry locChatEntry =
new ChatEntry();
/*
 * Statt der TCP/IP-Adresse wird die laufende Nummer eingetragen. */

      locChatEntry.setErstellt_TCPIP_Adresse((
new Integer(i)).toString());
/*
 * Holen der aktuellen Zeit und umwandeln in eine 'deutschen' Text mit Datum/Uhrzeit. */

      String strTimestamp = DateFormat.getDateTimeInstance(
                            DateFormat.
FULL, DateFormat.LONG, Locale.GERMAN).format(new Date());
      locChatEntry.setErstellt_Timestamp(strTimestamp);
/*
 * Hinweis auf die Test-Version im Text für den Chat-Beitrag. */

      locChatEntry.setMessage_Text(
"Automatisch erstellter Eintrag " + (new Integer(i)).toString());
/*
 * Hinzufügen des gerade erstellten Objektes für eine Tabellenzeile zum Vektor, der die gesamte
 * anzuzeigende Tabelle darstellt. */

      
vecChatEntries.add(locChatEntry);
    }
/*
 * 'Zurückliefern der 'gefüllten Tabelle'; diese wird dann von den Klassen des JSF-Frameworks in die
 * Web-Seite eingefügt. */

    
return vecChatEntries;
  
}
}

zum Inhaltsverzeichnis

Datei ChatEntry.java

package js_jsf02;
/*
 * Diese Klasse entspricht einer Tabellenzeile der mit '<h:dataTable . . . > definierten
 * Tabelle innerhalb der Webseite mit JSF-Anweisungen.
 * In einem weiteren Schritt übernimmt ein Objekt dieser Klasse die Werte eines Tupel
 * aus der Datenbank-Tabelle. */

/*
 * Deklaration der Klasse; diese muss 'public' sein sonst
 * können die Methoden der JSF-Klassen nicht darauf zugreifen. */
public class ChatEntry {
/*
 * Deklaration der Variablen; diese sind als 'private' deklariert weil über die JSF-Klassen der Zugriff darauf
 * nur über die get- und set-Methoden möglich ist. */
/*
 * Datum und Uhrzeit (als String / Zeichenkette) zu dem der Chat-Beitrag erstellt wurde. */
  
private String Erstellt_Timestamp;
/*
 * TCP/IP-Adresse jenes Computers auf dem der Chat-Beitrag erstellt wurde. */
  
private String Erstellt_TCPIP_Adresse;
/*
 * Text des Chat-Beitrags; vom Anwender eingegeben. */
  
private String Message_Text;
/*
 *
 * Methoden zum Übertragen des Wertes in der jeweiligen Variable dieser Klasse auf das passende Feld
 * der Tabellenzeile auf der Web-Seite.
 * Zur Erinnerung:
 * Die Namen der Methoden müssen den strikten Regeln für JSF folgen ! */
  
public String getErstellt_Timestamp() {
    
return Erstellt_Timestamp;
  
}
  
public String getErstellt_TCPIP_Adresse() {
    
return Erstellt_TCPIP_Adresse;
  
}
  
public String getMessage_Text() {
    
return Message_Text;
  
}
/*
 *
 * Methoden zum Übertragen von Werten in die Variablen dieser Klasse.
 * Diese Methoden sind deswegen notwendig weil die Variablen dieser Klasse 'private' definiert sind
 * und somit die Werte nicht direkt verändert werden können. */
  
public void setErstellt_Timestamp(String parmErstellt_Timestamp) {
    
Erstellt_Timestamp = parmErstellt_Timestamp;
  
}
  
public void setErstellt_TCPIP_Adresse(String parmErstellt_TCPIP_Adresse) {
    
Erstellt_TCPIP_Adresse = parmErstellt_TCPIP_Adresse;
  
}
  
public void setMessage_Text(String parmMessage_Text) {
    
Message_Text = parmMessage_Text;
  
}
}

zum Inhaltsverzeichnis

Datei web.xml

Der Inhalt dieser Datei wurde in diesem Schritt nicht verändert.

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app
id="JSFTutorial02" version="2.4"
         xmlns
="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemalocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <display-name>
JavaScout JSF Tutorial 02 (Java_JSF_02)</display-name>

  <servlet>
    <servlet-name>
JSFTutorial02 Faces Servlet</servlet-name>
    <servlet-class>
javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>
1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>
JSFTutorial02 Faces Servlet</servlet-name>
    <url-pattern>
*.jsf</url-pattern>
  </servlet-mapping>


</web-app>

Für JBoss (getestet mit Version 5.0.1) ist das Weglassen der Anweisung xmlns="http://java.sun.com/xml/ns/j2ee" notwendig:
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app
id="JSFTutorial02" version="2.4"
         xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemalocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <display-name>
JavaScout JSF Tutorial 02 (Java_JSF_02)</display-name>

  <servlet>
    <servlet-name>
JSFTutorial02 Faces Servlet</servlet-name>
    <servlet-class>
javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>
1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>
JSFTutorial02 Faces Servlet</servlet-name>
    <url-pattern>
*.jsf</url-pattern>
  </servlet-mapping>


</web-app>

zum Inhaltsverzeichnis

Datei faces-config.xml

Der Inhalt dieser Datei wurde in diesem Schritt nicht verändert.

<faces-config
  
xmlns="http://java.sun.com/xml/ns/javaee"
  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
  
version="1.2">

  <managed-bean>
    <managed-bean-name>
SymbolicBeanName</managed-bean-name>
    <managed-bean-class>
js_jsf02.JSFTutorial02</managed-bean-class>
    <managed-bean-scope>
request</managed-bean-scope>
  </managed-bean>

  <navigation-rule>
    <from-view-id>
/ChatManagement.jsp</from-view-id>
    <navigation-case>
      <from-outcome>
storeChatText</from-outcome>
      <to-view-id>
/ChatManagement.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>

</faces-config>

zum Inhaltsverzeichnis

Weitere Schritte und verwandte Dokumentation

Dokument

Inhalt

Tutorial: JSF zur Erfassung und Anzeige von Daten (Java_JSF_02) – EJB für Datenbank-Zugriff verwenden  

Im nächsten Schritt des Tutorial wird das EJB für den Zugriff auf die Datenbank-Tabelle aufgerufen.
Damit kann der eingegebene Text auf der Datenbank gespeichert und vorhandene Chat-Beiträge angezeigt werden.

zum Inhaltsverzeichnis