Struts 2 Select tag is helpful for implementing the drop down list where user can select one value from the list. Either these values can be send from the bean or it can be defined in the select tag itself. This tutorial shows a simple example to implement this tag. Lets look at the below code.
1. Action Class
package javabeat.net.struts2; import java.util.ArrayList; public class Struts2UITagsAction{ private String cityName; private String lang; private ArrayList<String> cities; public String getLang() { return lang; } public void setLang(String lang) { this.lang = lang; } 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. Select Tag Example
Select.jsp
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <body> <h1>JavaBeat - Struts 2 Select Tag Demo</h1> <s:form action="SelectDemo"> <s:select name="cityName" list="cities"/> <s:select name="lang" list="#{'Java Lang':'Java', 'C++ Lang':'C++', 'Scala Lang':'Scala'}"/> <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 Select Tag Demo</h1> <h4> Selected City : <s:property value="cityName" /><br> Selected Languages : <s:property value="lang" /> </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="uitagsdemo" extends="struts-default"> <action name="SelectDemo" class="javabeat.net.struts2.Struts2UITagsAction" > <result name="success">Result.jsp</result> <result name="INDEX">Select.jsp</result> </action> </package> </struts>
4. Select Tag Demo
If you access the application using URL http://localhost:8080/Struts2App/SelectDemo, you would see the following output.