Struts 2 Select Tag Example

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.

struts2 select tag example input screen

struts2 select tag example output screen

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Pin It on Pinterest

Share This

Share this post with your friends!

Share This

Share this post with your friends!