Struts 2 Property Tag is most commonly used by the struts applications. It is simply taking the field or property values from the bean instances or from the context variables. This tag can be used either as sub element of another tag or outside any other tags. This tutorial shows how to use the s:property tag with example.
1. Action Class and Bean
Struts2HelloWorldAction.java
package javabeat.net.struts2; public class Struts2HelloWorldAction { private String userName = "Hello World Property Tag Example!!"; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String execute(){ return "success"; } }
UserDetails.java
package javabeat.net.struts2; public class UserDetails { private String name; private String city; public UserDetails(){} public UserDetails(String... args){ this.name = args[0]; this.city = args[1]; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } }
2. Property Tag Example
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Struts 2 Property Tag Example </title> </head> <body> <s:property value="userName" /> <br> <s:bean name="javabeat.net.struts2.UserDetails" var="users"> <s:param name="name">Hello World</s:param> <s:param name="city">London</s:param> </s:bean> <s:property value="#users.name" /> , <s:property value="#users.city" /> </body> </html>
3. 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.devMode" value="true" /> <package name="tags" extends="struts-default"> <action name="propertytag" class="javabeat.net.struts2.Struts2HelloWorldAction" method="execute"> <result name="success">/PropertyTag.jsp</result> </action> </package> </struts>
4. Property Tag Demo
If you access the application using the URL, you would see the output as below screen.