Struts 2 s:optiontransferselect UI tag

<s:optiontransferselect>:

The <s:optiontransferselect> tag is used to create the option transfer select component which is the combination of two updownselect components. It contains the buttons to move the selected items between the two updownselect components.

Syntax: <s: optiontransferselect name=”firstDropDownName” list=”firstDropDownValueList” doubleName=”secondDropDownName” doubleList=”secondDropDownValueList” />

Example:

index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  	<title>Struts 2 s:optiontransferselect UI tags example</title>
	<META HTTP-EQUIV="Refresh" CONTENT="0;URL=initializeList.action">
  </head>  
  <body>
  </body>
</html>

test.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	   <title>Struts 2 s:optiontransferselect UI tags example</title>
	</head>
	<body>
		<h3>This is a s:optiontransferselect UI tags example.</h3>
 
		<s:form action="Test">
			<s:optiontransferselect
			     label="Test Items"
			     leftTitle="Left Items"
			     name="leftItems"			     
			     list="leftItemList"
			     headerKey="-1"
			     headerValue="select items"
			     rightTitle="Right Items"
			     doubleList="rightItemList"
			     doubleName="rightItems"
			     doubleHeaderKey="-1"
			     doubleHeaderValue="Select items"
			     multiple="true" />
			<s:submit value="Submit"/>
		</s:form>
 
	</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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_2_5.xsd">
 
 
 	<filter>
	  <filter-name>struts2</filter-name>
	  <filter-class>
        	org.apache.struts2.dispatcher.ng.
        	filter.StrutsPrepareAndExecuteFilter
          </filter-class>
	</filter>
 
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
 
	<welcome-file-list>
	  <welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
 
</web-app>

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
	<package name="default" extends="struts-default">
	 <action name="initializeList" 
	   class="com.javawithease.action.Test" method="initializeList">
		<result name="none">/test.jsp</result>
	 </action>
 
	 <action name="Test" class="com.javawithease.action.Test">
		<result name="success">/welcome.jsp</result>
	 </action>
	</package>
 
</struts>

Test.java

import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
 
/**
 * This class is used as an action class.
 * @author javawithease
 */
public class Test extends ActionSupport{
	//data members
	private List<String> leftItemList;
	private String leftItems;
	private List<String> rightItemList;
	private String rightItems;
 
	//business logic
	public String execute(){
		return SUCCESS;	
	}
 
	//getter setters
	public List<String> getLeftItemList() {
		return leftItemList;
	}
 
	public void setLeftItemList(List<String> leftItemList) {
		this.leftItemList = leftItemList;
	}
 
	public String getLeftItems() {
		return leftItems;
	}
 
	public void setLeftItems(String leftItems) {
		this.leftItems = leftItems;
	}
 
	public List<String> getRightItemList() {
		return rightItemList;
	}
 
	public void setRightItemList(List<String> rightItemList) {
		this.rightItemList = rightItemList;
	}
 
	public String getRightItems() {
		return rightItems;
	}
 
	public void setRightItems(String rightItems) {
		this.rightItems = rightItems;
	}	
 
 
	public String initializeList(){
		leftItemList = new ArrayList<String>();
		leftItemList.add("Item 1");
		leftItemList.add("Item 2");
		leftItemList.add("Item 3");
		leftItemList.add("Item 4");
		leftItemList.add("Item 5");
 
		rightItemList = new ArrayList<String>();
		rightItemList.add("Item 6");
		rightItemList.add("Item 7");
		rightItemList.add("Item 8");
		rightItemList.add("Item 9");
		rightItemList.add("Item 10");
 
		return NONE;
	}
 
}

welcome.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	   <title>Struts 2 s:optiontransferselect UI tags example</title>
	</head>
	<body>
		<h3>This is a s:optiontransferselect UI tags example.</h3>
 
		Left subject: <s:property value="leftItems" /><br/>
		Right subject: <s:property value="rightItems" />
 
	</body>
</html>

Output:

struts 38 first
 
Move and select items.
struts 38 second
 
Click on submit button.
struts 38 final
 
Download this example.
 
Next Topic: Struts 2 s:datetimepicker UI tag with example.
Previous Topic: Struts 2 s:updownselect UI tag with example.

Related Topics:

Struts 2 s:textfield, s:password and s:submit UI tags with example.
Struts 2 s:hidden UI tag with example.
Struts 2 s:textarea UI tag with example.
Struts s:radio 2 UI tag with example.
Struts 2 s:checkbox and s:checkboxlist UI tag with example.
Struts 2 s:select UI tag with example.
Struts 2 s:combobox UI tag with example.
Struts 2 s:file UI tag with example.
Struts 2 s:doubleselect UI tag with example.
Struts 2 s:updownselect UI tag with example.
Struts 2 s:optiontransferselect UI tag with example.
Struts 2 s:datetimepicker UI tag with example.
Struts 2 sx:autocompleter UI tag with example.