JSF 2-Wiederholungsbeispiel

Der ui:wiederholen Die Komponente ist eine der beliebtesten Komponenten, die als alternative Möglichkeit zur Iteration der Daten verwendet werden könnte. Die Verwendung von h:dataTable kann mühsam sein, insbesondere wenn sich der Benutzer Gedanken über Kopf- und Fußzeilen, Beschriftungen und Stile macht. Wenn der Entwickler jedoch mit HTML-Tabellen vertraut ist und über gute Kenntnisse verfügt, spricht nichts gegen die Verwendung von a ui:wiederholen anstatt h:dataTable.

Lesen Sie auch:

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

Ein verbleibendes großes Problem, das hier erwähnt werden muss, ist das JavaServer steht vor 2 hat überlegt, a Facetten; Facelets sind eine alternative Ansichtstechnologie, die auf reinen XML-Vorlagen (keine Scritplets) basiert. Diese Technologie wird in JSF 2 übernommen, anstatt sie zu verwenden JavaServer-Seiten (JSP). Der ui:wiederholen ist eine JSF 2-Komponente und wird in JSF 1 nicht bereitgestellt, da die ui:repeat-Komponente mit der Facelets-Technologie ausgestattet ist.

Mit den folgenden Attributen kann der Entwickler eine Teilmenge der Sammlung durchlaufen:

  • versetzt ist der Index, bei dem die Iteration beginnt (Standard: 0)
  • Schritt ist die Differenz zwischen aufeinanderfolgenden Indexwerten (Standard: 1)
  • Größe ist die Anzahl der Iterationen (Standard (Größe der Sammlung – versetzt)/Schritt)

1. Verwaltete Bohne

package net.javabeat.jsf;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class RepeatBean {

	private List<Tutorial> tutorials = new ArrayList<Tutorial>();

	public RepeatBean() {
		this.tutorials.add(new Tutorial(1, "JSF 2"));
		this.tutorials.add(new Tutorial(2, "EclipseLink"));
		this.tutorials.add(new Tutorial(3, "HTML 5"));
		this.tutorials.add(new Tutorial(4, "Spring"));
	}

	public String register() {
		return "registrationInfo";
	}

	public List<Tutorial> getTutorials() {
		return tutorials;
	}

	public void setTutorials(List<Tutorial> tutorials) {
		this.tutorials = tutorials;
	}

}

2. Tutorial-Klasse

Tutorial.java

package net.javabeat.jsf;

public class Tutorial {
	private int tutorialId;
	private String tutorialDescription;

	public Tutorial(int id, String desc){
		this.tutorialId = id;
		this.tutorialDescription = desc;
	}

	public int getTutorialId() {
		return tutorialId;
	}
	public void setTutorialId(int tutorialId) {
		this.tutorialId = tutorialId;
	}
	public String getTutorialDescription() {
		return tutorialDescription;
	}
	public void setTutorialDescription(String tutorialDescription) {
		this.tutorialDescription = tutorialDescription;
	}
}

3. Die Ansichten

UIRepeat.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:form>
	<h1>
		<h:outputText value="JavaBeat JSF 2.2 Examples" />
	</h1>
	<h2>
		<h:outputText value="UI Repeat Example" />
	</h2>
	<h:outputText value="JavaBeat Site Provides the Following Tutorials:"/>
	<br/>
	<table border="1">
		<tr>
			<th>
				Tutorial Id
			</th>
			<th>
				Tutorial Description
			</th>
		</tr>
		<ui:repeat var="tutorial" value="#{repeatBean.tutorials}">
			<tr>
				<td>
					<h:outputText value="#{tutorial.tutorialId}"/>
				</td>
				<td>
					<h:outputText value="#{tutorial.tutorialDescription}"/>
				</td>
			</tr>
		</ui:repeat>
	</table>
</h:form>
</html>

5. JSF 2 UIRepeat-Demo

Der folgende Schnappschuss zeigt Ihnen das vollständige Nutzungsszenario ui:wiederholen Komponente zum Erreichen der Dateniteration.

JSF-UI-Wiederholungsbeispiel

(wpdm_file id=11)

Kommentar verfassen

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

Nach oben scrollen