<div dir="ltr" style="text-align: justify;" trbidi="on">
<div dir="ltr" style="text-align: justify;" trbidi="on">
<div dir="ltr" style="text-align: justify;" trbidi="on">In this tutorial, we are going to describe the property tag. The property tag is a generic tag that is used to get the property of a value, which will default to the top of the stack if none is specified.</p>
<p> <b>Create action classes:</b><br />
For this exercise, let us reuse examples given in &#8220;Data Type Conversion&#8221; chapter but with little modifications. So let us start with creating classes. Consider the following POJO class <i><b>UserBean.java</b></i>.</p>
<pre class="highlight" name="code">package com.dineshonjava.struts2.action; 
 
import com.opensymphony.xwork2.ActionSupport; 
 
/** 
 * @author Dinesh Rajput 
 * 
 */ 
public class DataTagAction extends ActionSupport { 
 
 private static final long serialVersionUID = -7744420104547018874L; 
 
 
 public String execute() { 
 return SUCCESS; 
 } 
 
} 
</pre>
<p><i><b>UserBean.java</b></i></p>
<pre class="highlight" name="code">package com.dineshonjava.struts2.bean; 
 
/** 
 * @author Dinesh Rajput 
 * 
 */ 
public class UserBean { 
 private String userName; 
 private String userAge; 
 private String userPhone; 
 private String userAddress; 
 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; 
 } 
 
} 
</pre>
<div align='center' id="ads-id"></div>
<p><b>Create views</b><br />
Let us have <i><b>success.jsp</b></i> with the following content:</p>
<pre class="highlight" name="code"><;%@ page contentType="text/html; charset=UTF-8"%>; 
<;%@ taglib prefix="s" uri="/struts-tags"%>; 
<;html>; 
<;head>; 
<;STYLE type="text/css">; 
 
b{color: blue;} 
 
<;/STYLE>; 
<;title>;Property Data Tag Struts2 | dineshonjava.com<;/title>; 
<;/head>; 
<;body>; 
 <;h1>;<;span style="background-color: #FFFFcc">;Property Data Tags Example!<;/span>;<;/h1>; 
 <;s:bean name="com.dineshonjava.struts2.bean.UserBean" id="user" var="user">; 
 <;s:param name="userName">;Dinesh Rajput<;/s:param>; 
 <;s:param name="userAge">;27<;/s:param>; 
 <;s:param name="userPhone">;9876543210<;/s:param>; 
 <;s:param name="userAddress">;Noida<;/s:param>; 
 <;s:property value="%{userName}" />;<;br>; 
 <;s:property value="%{userAge}" />;<;br>; 
 <;s:property value="%{userPhone}" />;<;br>; 
 <;s:property value="%{userAddress}" />;<;br>; 
 <;/s:bean>; 
 <;h1>;<;span style="background-color: #FFFFcc">;Using Var in Property Data Tags Example!<;/span>;<;/h1>; 
 <;s:property value="#user.userName" />;<;br>; 
 <;s:property value="#user.userAge" />;<;br>; 
 <;s:property value="#user.userPhone" />;<;br>; 
 <;s:property value="#user.userAddress" />;<;br>; 
 <;!-- Default value -->; 
 <;h1>;<;span style="background-color: #FFFFcc">;Default Value in Property Data Tags Example!<;/span>;<;/h1>; 
 <;s:property value="userName" default="Default Value of name" />;<;br>; 
 <;s:property value="userAge" default="Default Value of age" />;<;br>; 
 <;s:property value="userPhone" default="Default Value of phone" />;<;br>; 
 <;s:property value="userAddress" default="Default Value of address" />; 
<;/body>; 
<;/html>; 
</pre>
<p><b>Configuration Files</b><br />
Your <i><b>struts.xml</b></i> should look like:</p>
<pre class="highlight" name="code"><;?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="propertytag" class="com.dineshonjava.struts2.action.DataTagAction">; 
 <;result name="success">;/success.jsp<;/result>; 
 <;/action>; 
 <;/package>; 
 <;/struts>; 
</pre>
<p>
<b>Your <i>web.xml</i> should look like:</b></p>
<pre class="highlight" name="code"><;?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>; 
</pre>
</div>
<p>Right click on the project name and click <b>Export >; WAR</b> File to create a War file. Then deploy this WAR in the Tomcat&#8217;s webapps directory. Finally, start Tomcat server and try to access</p>
<p> <b>URL <i>http://localhost:8080/doj/propertytag.</i></b></p>
<p> This will give you following screen:</p>
<div class="separator" style="clear: both; text-align: center;"><img border="0" src="https://dineshonjava.com/wp-content/uploads/2013/08/1111-3.png" /></div>
</div>
<p>
<b>Download Source Code</b><br />
<b><a href="https://sites.google.com/a/dineshonjava.com/dineshonjava/dineshonjava/PropertyDataTag.zip?attredirects=0&;d=1" target="_blank">PropertyDataTagExample.zip</a></b></p>
<div style="background-color: pink; border-width: thin; text-align: center;"><b><;<;<a href="https://dineshonjava.com/struts-2-date-tag-example/">Previous</a> <;<; ; ; || <a href="https://dineshonjava.com/struts-2-baby-step-to-learn/">Index </a>||  ; >;>;<a href="https://dineshonjava.com/struts-2-push-tag-example/">Next</a> >;>;</b></div>
<p>
</div>
<div class="wp-post-navigation"> 
									 <div class="wp-post-navigation-pre"> 
									 <a href="https://dineshonjava.com/struts-2-date-tag-example/">Previous</a> 
									 </div> 
									 <div class="wp-post-navigation-next"> 
									 <a href="https://dineshonjava.com/struts-2-push-tag-example/">Next</a> 
									 </div> 
									</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
 $.post('https://dineshonjava.com/wp-admin/admin-ajax.php', {action: 'mts_view_count', id: '361'});
});
</script>
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…