Jsf selectoneradio html tag

JSF h:selectOneRadio tag is used to render a single HTML radio button and provides the formatting with HTML table and label tags.

JSF tag:

<h:selectOneRadio value="#{testBean.data}" />
   <f:selectItem itemValue="1" itemLabel="Item 1" />
   <f:selectItem itemValue="2" itemLabel="Item 2" />
</h:selectOneRadio>

Rendered HTML tag:

<table>
   <tr>
      <td><input name="j_idt6:j_idt8" id="j_idt6:j_idt8:0" value="1" 
            type="radio" />
         <label for="j_idt6:j_idt8:0" class=""> Item 1</label>
      </td>
      <td><input name="j_idt6:j_idt8" id="j_idt6:j_idt8:1" value="2" 
            type="radio" />
         <label for="j_idt6:j_idt8:1" class=""> Item 2</label>
      </td>     
   </tr>
</table>

Attribute of h:selectOneRadio tag:

Attribute Description
id id for the tag
binding Reference to the component used in a backing bean
rendered A boolean value; false would suppress rendering
styleClass Cascading stylesheet (CSS) class name
value value binding
valueChangeListener A method binding that responds to value changes
converter Converter class name
validator Class name of a validator attached to the component
required A boolean; if true, marks the tag as required
accesskey gives focus to an element
accept Comma-separated list of content types for a form
accept-charset Comma- or space-separated list of character encodings for a form.
alt Alternative text for nontextual elements such as images
border Pixel value for an element’s border width
charset Character encoding for a linked resource
coords Coordinates for an element whose shape is a rectangle, circle, or polygon
dir Direction for text. Valid values are ltr (left to right) and rtl (right to left).
disabled Disabled state of an input element or button
hreflang Base language of a resource specified with the href attribute;
lang Base language of an element’s attributes and text
maxlength Maximum number of characters for text fields
readonly Read-only state of an input field
style Inline style information
tabindex Numerical value specifying a tab index
target The name of a frame in which a document is opened
title A title used for accessibility. Browsers typically create tooltips for the title’s value
type Type of a link; for example, stylesheet
width Width of an element
onblur Event handler for losing focus
onchange Event handler for value changes
onclick Event handler for Mouse button clicked over the element
ondblclick Event handler for Mouse button double-clicked
onfocus Event handler for element received focus
onkeydown Event handler for Key pressed
onkeypress Event handler for Key pressed and released
onkeyup Event handler for Key released
onmousedown Event handler for Mouse button pressed
onmousemove Event handler for mouse moved
onmouseout Event handler for mouse left
onmouseover Event handler for mouse moved onto
onmouseup Event handler for mouse button released
onreset Event handler for form reset
onselect Event handler for Text selected
immediate Process validation early in the life cycle

Example:

Test.java

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
/**
 * Managed bean.
 * @author javawithease
 */
@ManagedBean(name="test")
@SessionScoped
public class Test {
	private String radioValue;
 
	public String getRadioValue() {
		return radioValue;
	}
 
	public void setRadioValue(String radioValue) {
		this.radioValue = radioValue;
	}
 
	public String checkRadioValue() {
		return "success";
	}
}

test.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">
	<h:head>
		<title>JSF radio example.</title>
	</h:head>
    <h:body>
    	<h2>JSF radio example.</h2>
 
    	<h:form>
		  <h:selectOneRadio value="#{test.radioValue}">
		    <f:selectItem itemValue="Red" itemLabel="Red" />
		    <f:selectItem itemValue="Green" itemLabel="Green" />
		    <f:selectItem itemValue="Blue" itemLabel="Blue" />
		  </h:selectOneRadio>
    	   <br/> <br/>
    	   <h:commandButton value="Check Radio Value" 
    	      action="#{test.checkRadioValue}"/>	
    	</h:form>
 
    </h:body>
 
</html>

welcome.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">
	<h:head>
		<title>JSF radio example.</title>
	</h:head>
    <h:body> 
    	 <h3>Radio value: <h:outputText 
    	 value="#{test.radioValue}"/></h3> 
    </h:body>
 
</html>

faces-config.xml

<?xml version="1.0" encoding="windows-1252"?>
<faces-config version="2.0" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xi="http://www.w3.org/2001/XInclude" 
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_2_0.xsd">
 
<navigation-rule>
   <from-view-id>test.xhtml</from-view-id>
   <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>welcome.xhtml</to-view-id>
   </navigation-case>   
</navigation-rule>
 
</faces-config>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    	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-app_3_0.xsd">
 
    <servlet>
        <servlet-name>faces</servlet-name>
        <servlet-class>
          javax.faces.webapp.FacesServlet
        </servlet-class>
    </servlet>
 
	<servlet-mapping>
        <servlet-name>faces</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
 
</web-app>

URL:

http://localhost:7001/JSFExample52/faces/test.xhtml

Output:

JSF example52-1
Select any radio button.
JSF example52-2
Click on Check Radio Value button.
JSF example52-3
 
Download this example.