Beispiel: JSP-Tag tsx:repeat für die Iteration durch Ergebnismengen verwenden (veraltet)

Mit dem Tag <tsx:repeat> wird eine Iteration für eine Ergebnismenge durchgeführt. Die Ergebnismenge ist in einer Bean enthalten. Die Bean kann eine statische Bean sein, z. B. eine Bean, die mit dem Datenbankassistenten von IBM® WebSphere Studio erstellt wurde. Es kann sich aber auch um eine dynamisch generierte Bean handeln, z. B. eine Bean, die von der <tsx:dbquery>-Syntax generiert wurde.

Veraltetes Feature Veraltetes Feature: Die Unterstützung für tsx-Tags in der JSP-Engine ist in WebSphere Application Server Version 6.0 veraltet. Anstelle der tsx-Tags sollten Sie die entsprechenden Tags aus der JavaServer Pages Standard Tag Library (JSTL) verwenden. depfeat

Die folgende Tabelle ist eine grafische Darstellung des Inhalts der Bean myBean:

Tabelle 1. Grafische Darstellung von myBean. Inhalt fon myBean
Spalte col1 col2 col3
row0 friends Romans countrymen
row1 bacon lettuce tomato
row2 May June July

Einige Bemerkungen zur Bean:

In der folgenden Tabelle wird die Verwendung des Tag <tsx:repeat> für das Iterieren einer statischen Bean mit einer dynamisch generierten Bean verglichen:

Tabelle 2. Beispiel für statische Bean und Bean vom Typ <tsc:repeat> . Verwenden Sie diese Tabelle, um die beiden Beans zu vergleichen.
Beispiel für statische Bean Beispiel für <tsx:repeat>-Bean
myBean.class
// Code zum Abrufen einer Verbindung

// Code zum Abrufen der Daten
   Select * from myTable;

// Code zum Schließen der Verbindung
JSP-Datei
<tsx:repeat index=abc>
  <tsx:getProperty name="myBean"
    property="col1(abc)" />
</tsx:repeat> 
Anmerkung:
  • Die Bean (myBean.class) ist eine statische Bean.
  • Die Methode für den Zugriff auf die Bean-Eigenschaften ist myBean.get(Eigenschaft(Index)).
  • Sie können den Eigenschaftenindex übergehen. In diesem Fall wird der Index des übergeordneten <tsx:repeat>Tag verwendet. Außerdem können Sie den Index für das Tag <tsx:repeat> weglassen.
  • Das <tsx:repeat>-Tag iteriert, ausgehend von der Anfangszeile, zeilenweise durch die Bean-Eigenschaften.
JSP-Datei
<tsx:dbconnect id="conn"
userid="alice"passwd="test"
url="jdbc:db2:sample"
driver="COM.ibm.db2.jdbc.app.DB2Driver">
</tsx:dbconnect >

<tsx:dbquery id="dynamic"
 connection="conn" >
  Select * from myTable;
</tsx:dbquery>

<tsx:repeat index=abc>
  <tsx:getProperty name="dynamic"
    property="col1(abc)" />
</tsx:repeat> 
Anmerkung:
  • Die (dynamische) Bean wird vom Tag <tsx:dbquery> erst generiert, wenn die Syntax ausgeführt wird.
  • Die Methode für den Zugriff auf die Bean-Eigenschaften ist "dynamic.getValue(Eigenschaft, Index).
  • Sie können den Eigenschaftenindex übergehen. In diesem Fall wird der Index des übergeordneten <tsx:repeat>Tag verwendet. Außerdem können Sie den Index für das Tag <tsx:repeat> weglassen.
  • Die Syntax des <tsx:repeat>-Tag iteriert, ausgehend von der Anfangszeile, zeilenweise durch die Bean-Eigenschaften.

Implizite und explizite Indexierung

Die Beispiele 1, 2 und 3 veranschaulichen, wie das Tag <tsx:repeat> verwendet wird. Die Beispiele erstellen dieselbe Ausgabe, wenn alle indexierten Eigenschaften aus maximal 300 Elementen bestehen. Sind mehr als 300 Elemente vorhanden, zeigen die Beispiele 1 und 2 alle Elemente an, während Beispiel 3 nur die ersten 300 Elemente anzeigt.

Beispiel 1 veranschaulicht die implizite Indexierung mit dem Standardanfangsindex und dem Standardendindex. Die Bean mit der geringsten Anzahl indexierter Eigenschaften begrenzt die Anzahl der Schleifenwiederholungen.

<table>
<tsx:repeat>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="city" />
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="address" />
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="telephone" />
  </tr></td>
</tsx:repeat> </table>

Beispiel 2 veranschaulicht die Indexierung, den Anfangsindex und den Endindex:

<table>
<tsx:repeat index=myIndex start=0 end=2147483647>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property=city(myIndex) />
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property=address(myIndex) />
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property=telephone(myIndex) />
</tr></td>
</tsx:repeat> </table>

Beispiel 3 veranschaulicht die explizite Indexierung und den Endindex mit dem impliziten Anfangsindex. Obwohl das Indexattribut angegeben ist, können Sie die indexierte Eigenschaft "city" noch implizit indexieren, da der (myIndex)-Tag nicht erforderlich ist.

<table>
<tsx:repeat index=myIndex end=299>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="city" /t>
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="address(myIndex)" />
  </tr></td>
  <tr><td><tsx:getProperty name="serviceLocationsQuery" property="telephone(myIndex)" />
  </tr></td>
</tsx:repeat> </table>

<tsx:repeat>-Blöcke verschachteln

Sie können <tsx:repeat>-Blöcke verschachteln. Jeder Block wird separat indexiert. Diese Funktion ist nützlich für die Verzahnung von Eigenschaften zweier Beans bzw. Eigenschaften, die untergeordnete Eigenschaften haben. Im Beispiel werden zwei <tsx:repeat>-Blöcke verschachtelt, um die Liste der auf den CDs enthaltenen Titel im Warenkorb des Benutzers anzuzeigen.

<tsx:repeat index=cdindex>
  <h1><tsx:getProperty name="shoppingCart" property=cds.title /></h1>
  <table>
  <tsx:repeat>
    <tr><td><tsx:getProperty name="shoppingCart" property=cds(cdindex).playlist />
    </td></tr>
  </tsx:repeat>   </table>
 </tsx:repeat> 

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_jrepr
Dateiname:rweb_jrepr.html