Struts 2 s:radio button tag helps you to select only one value from the list of options. Unlike check boxes which offer multiple selection possible, radio buttons are useful for selecting only one value from the group of options. This radio button tag example provides very simple demonstration. Lets look at these code snippets.
1. Action Class
package javabeat.net.struts2; import java.util.ArrayList; public class Struts2UITagsAction{ private String cityName; private ArrayList<String> cities; public String getCityName() { return cityName; } public void setCityName(String cityName) { this.cityName = cityName; } public ArrayList<String> getCities() { return cities; } public void setCities(ArrayList<String> cities) { this.cities = cities; } public String execute(){ if (cityName == null || cityName.trim().length() == 0){ cities = new ArrayList<String>(); cities.add("London"); cities.add("Newyork"); cities.add("Tokyo"); return "INDEX"; } return "success"; } }
2. Radio Tag Example
RadioButton.jsp
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <body> <h1>JavaBeat - Struts 2 Radio Button Tag Demo</h1> <s:form action="RadioDemo"> <s:radio name="cityName" list="cities"/> <s:submit label="Submit" /> </s:form> </body> </html>
Result.jsp
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <body> <h1>JavaBeat - Struts 2 Radio Button Tag Demo</h1> <h4> Selected City : <s:property value="cityName" /><br> </h4> </body> </html>
3. Struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="textfielddemo" extends="struts-default"> <action name="RadioDemo" class="javabeat.net.struts2.Struts2UITagsAction" > <result name="success">Result.jsp</result> <result name="INDEX">RadioButton.jsp</result> </action> </package> </struts>
4. Radio Tag Demo
If you access the application using URL http://localhost:8080/Struts2App/RadioDemo, you would see the following output.