Struts 2 “set” tag is used to assign a value to a variable in a specified scope (application, session, request, page, or action), the action is the default scope.
Create Action Class:
DataTagAction.java
package com.dineshonjava.struts2.action; import com.dineshonjava.struts2.bean.UserBean; import com.opensymphony.xwork2.ActionSupport; /** * @author Dinesh Rajput * */ public class DataTagAction extends ActionSupport { private static final long serialVersionUID = -7744420104547018874L; private UserBean bean; public String execute() { return SUCCESS; } public UserBean getBean() { return bean; } public void setBean(UserBean bean) { this.bean = bean; } }
Create Bean Class
UserBean.java
package com.dineshonjava.struts2.bean; /** * @author Dinesh Rajput * */ public class UserBean { private String userName = "Dinesh Rajput"; private String userAge = "27"; private String userPhone = "9874563210"; private String userAddress = "Noida"; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserAge() { return userAge; } public void setUserAge(String userAge) { this.userAge = userAge; } public String getUserPhone() { return userPhone; } public void setUserPhone(String userPhone) { this.userPhone = userPhone; } public String getUserAddress() { return userAddress; } public void setUserAddress(String userAddress) { this.userAddress = userAddress; } }
Create View:
success.jsp
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Set Data Tag Struts2 | dineshonjava.com</title> </head> <body> <h2>An example of the set tag: </h2> <s:bean name="com.dineshonjava.struts2.bean.UserBean" var="user"> </s:bean> <h4>Simple use of set tag </h4> <s:set name="name" value="#user.userName" /> <s:set name="age" value="#user.userAge" /> <s:set name="phone" value="#user.userPhone" /> <s:set name="address" value="#user.userAddress" /> <ol> <li>User Name : <s:property value="name" /></li> <li>User Age : <s:property value="age" /></li> <li>User Phone : <s:property value="phone" /></li> <li>User Address : <s:property value="address" /></li> </ol> <h4>Set value of property in session by set tag</h4> <s:set name="name" value="#user.userName" scope="session"/> <s:set name="age" value="#user.userAge" scope="session"/> <s:set name="phone" value="#user.userPhone" scope="session"/> <s:set name="address" value="#user.userAddress" scope="session"/> <ol> <li>User Name : <s:property value="#session['name']" /></li> <li>User Age : <s:property value="#session['age']" /></li> <li>User Phone : <s:property value="#session['phone']" /></li> <li>User Address : <s:property value="#session['address']" /></li> </ol> </body> </html>
Configuration file for Struts2:
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <constant name="struts.custom.i18n.resources" value="myapp" /> <package name="default" extends="struts-default" namespace="/"> <action name="settag" class="com.dineshonjava.struts2.action.DataTagAction"> <result name="success">/success.jsp</result> </action> </package> </struts>
Create web.xml file:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Struts2DataTag</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </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>
Right click on the project name and click Export > WAR File to create a War file. Then deploy this WAR in the Tomcat’s webapps directory. Finally, start Tomcat server and try to access
URL http://localhost:8080/doj/settag.
This will give you following screen:
Download SourceCode
SetDataTagExample.zip