Struts2教程 - 5.4.1 action标签使用介绍
技术要点
本节代码具体介绍action数据标签的使用方式介绍。
=???action标签使用。
=???action标签功能演示。
演示代码
显示action结果视图的JSP文件:
<!-------------------------------------------文件名:actionTag.jsp-------------------------------->
<body>
?????????? <!--?显示Action参数?-->?
?????????? <s:property value="param"/>
</body>
使用action标签的JSP文件:
<!-------------------------------------------文件名:showActionTag.jsp-------------------------------->
<head>
<title>显示Action视图和参数?</title>
</head>
<body>
<h3 align="left">
????????????????????显示结果视图
?????????? </h3>
<s:action name="actionTag" executeResult="true"></s:action>
<h3 align="left">
????????????????????不显示结果视图
?????????? </h3>
<s:action name="actionTag" executeResult="false"></s:action>
<h3 align="left">
????????????????????忽略传递的Action参数
?????????? </h3>
<s:action name="actionTag" executeResult="true" ignoreContextParams="true"></s:action>
</body>
定义action的配置文件内容:
<!-------------------------------------------文件名:struts.xml-------------------------------->
<package name="C05.4" extends="struts-default">??? ???
?????????? <action name="actionTag" style="text-align: justify; line-height: 13pt; background-color: #e0e0e0; font-size: 9pt; color: #000000; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; white-space: normal; text-indent: 18pt;">??????????????????? <result name="success">/jsp/actionTag.jsp</result>
?????????? </action> ?????????????????? ?
</package>
功能演示如图5.9。

图5.9? action标签范例图
代码解释
(1)action标签的功能是实现在JSP中调用Struts2的Action。其中id是需要调用的Action的标识定义。name才是Action的名字。这两个开发者经常会混淆,所以需要搞清楚。除了这两个属性,namespace是在来指定调用的Action的命名空间。
(2)除了上述属性之外。Action标签还有两个比较重要的属性。第一个是executeResult属性。它是一个布尔型的值。如果为“true”则表示在JSP页面中返回调用的Action的结果视图。反之则不显示,默认值是false。还有一个是ignoreContextParams,该属性是来决定视图中请求的参数是否需要传递到Action中去。顾名思义,它也是一个布尔型的值。如果为false则需要把参数传递到Action中,反之则不传递。它的默认值也是flase。
注意:在笔者对Struts2标签的研究中,几乎所有标签的属性中如果是一个表示布尔型的值,默认值都为false。因此如果需要定义这些属性,都需要在视图中(大多数情况下是JSP)显式定义为“true”。
(3)如代码所示,在图5.9中红框框中的就是需要传递到Action的参数内容。因为在JSP代码中最后使用了ignoreContextParams属性,并且设定为“true”,因此并没有将参数值显示在页面上。
更多信息请查看?java进阶网?http://www.javady.com/index.php/category/thread