当前位置: 代码迷 >> Web前端 >> Struts2课程 - 5.4.1 action标签使用介绍
  详细解决方案

Struts2课程 - 5.4.1 action标签使用介绍

热度:174   发布时间:2012-11-23 22:54:33.0
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" class="action.ActionAction">

??????????????????? <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

  相关解决方案