Struts2教程 - 5.4.6-7push、set标签使用介绍
本节代码具体介绍push数据标签的使用方式介绍。
=???push标签使用。
=???push标签功能演示。
使用push标签的JSP文件:
<!-------------------------------------------文件名:pushTag.jsp-------------------------------->
<body>
?????????? <s:bean name="model.Material" id="material">
??????????????????? <s:param name="materialName" value="'进户门套油漆'" />
??????????????????? <s:param name="mainbid" value="70" />
??????????????????? <s:param name="mount" value="200" />
?????????? </s:bean>
?????????? <s:push value="material">
??????????????????? <p>
???????????????????????????? <s:property value="materialName" />
??????????????????? </p>
??????????????????? <p>
???????????????????????????? <s:property value="mainbid" />
??????????????????? </p>
??????????????????? <p>
???????????????????????????? <s:property value="mount" />
??????????????????? </p>
?????????? </s:push>
</body>
功能演示如图5.15。
图5.15? push标签范例图
(1)push标签的功能是将某个具体的值放在值栈的最顶处。id属性也是对需要放置在值栈栈顶的值的标识定义。name是该值的名字。
注意:被放置在值栈栈顶的值可能是一个字符串类型也可能是一个Java对象实例。
(2)如代码所示,定义了材料这个Java对象,然后把它放置在值栈栈顶。然后通过property标签显示该对象的各个属性值。
本节代码具体介绍set数据标签的使用方式介绍。
=???set标签使用。
=???set标签功能演示。
使用set标签的JSP文件:
<!-------------------------------------------文件名:setTag.jsp-------------------------------->
<body>
?????????? <s:bean name="model.Material" id="material">
??????????????????? <s:param name="materialName" value="'进户门套油漆'" />
??????????????????? <s:param name="mainbid" value="70" />
?????????? ???????? <s:param name="mount" value="200" />
?????????? </s:bean>
?????????? <s:set name="anotherMaterial" value="#material"></s:set>
?????????? <p>
??????????????????? <s:property value="#material.materialName" />
?????????? </p>
?????????? <p>
??????????????????? <s:property value="#material.mainbid" />
?????????? </p>
?????????? <p>
??????????????????? <s:property value="#material.mount" />
?????????? </p>
</body>
功能演示如图5.16。
图5.16? set标签范例图
(1)set标签的功能是对一个变量指定一个值。name属性是对该变量名字的定义。value属性就是这个给该变量指定的值。如果不指定,Struts2是自动将值栈中栈顶的值指定给它。还有scope属性,它表示的是类似session、request这样的范围定义。也就是该变量被指定值后是在什么范围下才有效。(request、session知识在第二章中有介绍)。如果不指定它则该变量是放在值栈的context中。
(2)如代码所示,还是使用之前定义的材料这个JavaBean。笔者定义了一个“anotherMaterial”变量,然后将material值指定给这个变量。
更多信息请查看?java进阶网?http://www.javady.com/index.php/category/thread