pushtagaction.java
package com.h3.common.action;
import com.opensymphony.xwork2.actionsupport;
public class pushtagaction extends actionsupport{
public string execute() throws exception {
return success;
}
}
person.java
package com.h3.common;
public class person{
private string firstname = "this is firstname";
private string lastname = "this is lastname";
public string getfirstname() {
return firstname;
}
public string getlastname() {
return lastname;
}
}
push.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h1>struts 2 push tag example</h1> <h2>1. normal way</h2> <s:bean name="com.h3.common.person" var="personbean" /> first name : <s:property value="#personbean.firstname" /><br/> last name: <s:property value="#personbean.lastname" /><br/> <h2>2. push way</h2> <s:push value="#personbean" > first name : <s:property value="firstname" /><br/> last name: <s:property value="lastname" /><br/> </s:push> </body> </html>
它是如何工作的?
通常情况下,如果你想获得bean的属性,可以参考它,如 <s:property value=”#personbean.firstname” />。使用 <s:push>标签, 可以推“#personbean”到堆栈的顶部,并直接访问属性 <s:property value=”firstname” />。两者都返回相同的结果,但使用不同的接入机制。
<?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="default" namespace="/" extends="struts-default"> <action name="pushtagaction" class="com.h3.common.action.pushtagaction" > <result name="success">pages/push.jsp</result> </action> </package> </struts>
http://localhost:8080/struts2pushtag/pushtagaction.action
在浏览器中打开上面的网址,显示结果如下:
