Struts2 <s:push>标签示例
精华
小牛编辑
172浏览
2023-03-14
Struts2 <s:push>标签被用来将值推到堆栈的顶部,以便它可以容易地访问或参考。看到一个完整的<s:push>标记示例:
1. 动作
Action类只转发请求。
PushTagAction.java
package com.yiibai.common.action; import com.opensymphony.xwork2.ActionSupport; public class PushTagAction extends ActionSupport{ public String execute() throws Exception { return SUCCESS; } }
2. Bean
一个简单的Person类,将它推入堆栈以便于访问。
Person.java
package com.yiibai.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; } }
3. <s:push>标签示例
它显示了使用<s:push>标签。
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.yiibai.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” />。两者都返回相同的结果,但使用不同的接入机制。
<s:push>标签节省键入几个字符,看不出有什么真正的值在后面。
4. 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="default" namespace="/" extends="struts-default"> <action name="pushTagAction" class="com.yiibai.common.action.PushTagAction" > <result name="success">pages/push.jsp</result> </action> </package> </struts>
5. 执行结果
http://localhost:8080/struts2pushtag/pushTagAction.action
在浏览器中打开上面的网址,显示结果如下:
参考
- Struts2 <s:push>标签文档
下载代码 - http://pan.baidu.com/s/1o6Eh5TS