Struts2 - Property Tag (Data Tags)

In this section, 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.

Add the following code snippet into the struts.xml file.

struts.xml
<action name="propertyTag" class="net.struts2.propertyTag">
  <result>/pages/genericTags/propertyTag.jsp</result>
</action>

Create an action class as shown:

propertyTag.java

package net.struts2;
import com.opensymphony.xwork2.ActionSupport;

public class propertyTag extends ActionSupport {
  public String execute() throws Exception{
  return SUCCESS;
  }
}



Create a bean class "companyName" as shown:

companyName.java

package net.struts2;

public class companyName {
  
  private String name;

  public void setName(String name){
  this.name =name ;
  }

  public String getName(){
  return name;
  }
}

Create a jsp using the tags.

it prints the result of myBean's getMyBeanProperty() method.

it prints the result of companyName's getName() method and if it is null, print 'a default value' instead.


propertyTag.jsp


<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Property Tag (Data Tag) Example</title>
  </head>
  <body>
  <h1><span style="background-color: #FFFFcc">Property Tag 
    (Data Tags) Example!</span></h1>
  <!-- Example to pick the value through bean class -->
  <s:bean name="net.struts2.companyName" id="uid">
  <s:param name="name">Struts2</s:param> 
  <s:property value="%{name}" /><br>
  </s:bean>
  <!-- Default value -->
  <s:property value="name" default="Default Value" />
  </body>
</html>

Output of the propertyTag.jsp: