JSF 2 SelectOneRadio-Beispiel

Der selectOneRadio Die Komponente ist eine der Komponenten, die bereits in JSF 1 bereitgestellt und in JSF 2 enthalten waren. Optionsfelder werden in den JavaServer Faces mithilfe des in übersetzten selectOneRadio implementiert während der HTML-Code wiedergegeben wird. Das „selectOneRadio“ wird nicht als Ersatz für „selectBooleanCheckbox“ betrachtet, da letzteres nicht eine Auswahl erzwingt, die „selectOneRadio“-Komponente den Benutzer jedoch von Natur aus dazu zwingt, eine Option auszuwählen.

Das Hauptattribut von selectOneRadio ist das Wert Attribut, das zugeordnet ist (gebunden) in die Bohneneigenschaft. SelectOneRadio bietet die Möglichkeit, die Auswahl über die JSF-Komponente oder zu füllen. JSF 2 hat neue Attribute bereitgestellt, die im JSF 1 nicht enthalten waren; CollectionType, hideNoSelectionOption, aktivierte Klasse, deaktivierte Klasse, ausgewählte Klasse Und unselektierte Klasse sind neu hinzugefügte Attribute für selectOneRadio.

Lesen Sie auch:

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

1. Verwaltete Bohne

SelectOneRadioBean.java

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 SelectOneRadioBean {

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

	private String selectedTutorial = new String();

	public SelectOneRadioBean() {
		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;
	}

	public String getSelectedTutorial() {
		return selectedTutorial;
	}

	public void setSelectedTutorial(String selectedTutorial) {
		this.selectedTutorial = selectedTutorial;
	}
}

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;
	}
}

2. Die Ansichten

selectOneRadio.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="SelectOneRadio Example" />
	</h2>
	<h:outputText value="Select Tutorials:" />
	<h:selectOneRadio value="#{selectOneRadioBean.selectedTutorial}">
		<f:selectItems var="tutorial" value="#{selectOneRadioBean.tutorials}"
						itemValue="#{tutorial.tutorialId}" itemLabel="#{tutorial.tutorialDescription}"/>
	</h:selectOneRadio>
	<h:commandButton value="Register"
		action="#{selectOneRadioBean.register}"></h:commandButton>
</h:form>
</html>

RegistrationInfo.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">
	<f:view>
		<h1><h:outputText value="JavaBeat JSF 2.2 Examples" /></h1>
		<h2><h:outputText value="SelectOneRadio Example" /></h2>
		<h:form>
			<h:outputText value="Selected Tutorial: "/>
			<br/>
			<h:outputText value="Tutorial Id : #{selectOneRadioBean.selectedTutorial}"/>
		</h:form>
	</f:view>
</html>

3. 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>

4. JSF 2 SelectOneRadio-Demo

Die folgenden Schnappschüsse zeigen Ihnen ein vollständiges Szenario der Verwendung der SelectOneRadio-Komponente.

JSF 2 SelectOneRadio Beispiel 1

JSF 2 SelectOneRadio Beispiel 2

(wpdm_file id=9)

Kommentar verfassen

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

Nach oben scrollen