第一范文网 - 专业文章范例文档资料分享平台

第五章:struts2标签库

来源:用户分享 时间:2021-06-02 本文由烟勤话少 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

IBM Software Group

®

IBM Software Group

第五章:Struts 2标签库主讲:刘雷

© 2008 IBM Corporation

IBM Software Group

学习目标 Struts2标签库概述 Struts2数据标签 Struts2控制标签 Struts2表单标签 Struts2非表单标签

IBM Software Group

IBM Software Group

Struts2标签库概述 Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成页面上的tree,Tab页等。 非用户界面标签(非UI标签):主要用于数据访问,逻辑控制。 数据访问标签:主要包含用于输出值栈(ValueStack)中的值,完成国际化等功能 的标签。 流程控制标签:主要包含用于实现分支,循环等流程控制的标签。 AJAX标签:用于支持Ajax效果

IBM Software Group

IBM Software Group

Struts2标签库 在早期的WEB开发中,JSP视图控制和显示技术主要依靠Java脚本来实现,这样一来 ,JSP页面重新嵌入了大量的Java脚本代码,给开发带来了极大的不方便。 从JSP1.1规范后,JSP增加了自定义标签库的支持。标签库是一种组件技术,通过标 签库,可以将复杂的Java脚本代码封装在组件中,开发者只需要使用简单的代码就可 以实现复杂的Java脚本功能。提供了Java脚本的复用性,提高了开发者的开发效率。 Struts2标签库相对struts1.x进行了巨大的改进,支持OGNL表达式,不再依赖任何表现 层技术。

IBM Software Group

IBM Software Group

Struts2标签的使用 我们可以在struts2-core-2.0.11.jar压缩文件的META-INF目录下找到struts-tags.tld文件 ,这个文件里定义了Struts2的标签。 要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的 代码: <%@taglib prefix="s" uri="/struts-tags" %>

IBM Software Group

IBM Software Group

Struts2标签语法(一) Struts2的标签都支持动态数据的访问,标签的属性都可以使用OGNL表达式,struts2标签的 IBM Software Group 属性具有类型,这些类型可以简单地分为字符串类型和非字符串类型,对于字符串类型的属 性,如果要访问动态数据,需要使用%{… }这样的语法, 例如:<s:include value=“%{ url }” /> Include标签的value属性是字符串类型,Struts2将对这个属性进行解析,查找符合%{…}样式 的字符串,然后将花括号之间的内容作为OGNL表达式进行求值。如果属性中没有%{…}样式 的字符串,那么属性的值将被直接看成是字符串数据。 例如:<s:include value=“urlTag.action” /> 对于非字符串类型的属性值,将直接作为OGNL表达式进行求值。 例

如:<s:property value=“username”/>

property标签的value属性是Object类型,它的值username将作为OGNL表达式进行求值,结 果是值栈中位于栈顶的对象的username属性的值。如果要为非字符串类型的属性直接指定字 符串数据,那么需要使用OGNL中的字符串常量,即用单引号(‘)或双引号(“)将字符 串括起来。 例如:<s:property value=“ zhangsan ”/> value属性的值‘zhangsan 作为字符串常量,计算结果就是zhangsan,因此输出zhangsan 。

IBM Software Group

Struts2标签语法(二) 除上述用法之外,也可以使用%{…}这样的语法来指定字符串常量。 例如: <s:property value=“%{ zhangsan }”/> 在这种情况下,%{ }将被忽略,花括号中的内容将作为表达式被计算。 总结一下,struts2标签的属性按照下列的三个规则进行计算。 (1)所有的字符串属性类型都会解析“%{…}”这样的语法。 (2)所有的非字符属性类型都不会被解析,而是直接被看作一个OGNL表达式进行求值 (3)对于第二个规则的例外情况是,如果非字符串属性使用了“%{…}”语法,那么 %{…}将被忽略,花括号中的内容将作为表达式计算。 如果大家在使用标签时, 忘记了某个属性是字符串类型,还是非字符串类型,那么有一 个简单的方法,那就是不考虑它是什么类型,统一使用“%{…}”语法。

IBM Software Group

IBM Software Group

Struts2通用标签 Struts2中通用标签可以分为二类:控制标签和数据标签。控制标签用于呈现页面时控 制执行流程,数据标签用于访问值栈中的数据。 数据标签:用于访问ActionContext和值栈中的数据。数据标签包括: property set push param bean action include url a i18n text date debug 控制标签:用于在呈现结果页面时控制程序的执行流程,根据程序执行的状态输出不 同的结果,控制标签包括下列标签: if/elseif/else iterator append merge generator subset sort

IBM Software Group

IBM Software Group

数据标签-----property标签 property标签用于输出值栈中的对象的属性(property)值,使用value属性来指定要输出 的对象属性,如果没有指定value属性,那么默认输出栈顶对象。

IBM Software Group

property标签属性

在前面的章节中,我们已经使用过了property标签,我们再看一个例子: <s:property value=“username” default=“游客” /> 取出栈顶对象(通常是action)的username属性并输出,如果没有找到username属性, 那么输出”游客”。

IBM Software Group

数据标签-----set标签 Set标签将一个值赋给指定范围内变量。Set标签在某些情况下是比较有用的,例如在 页面中多次引用一个复杂的表达式,我们可以将这个表

达式赋给一个变量,然后直接 引用变量。带来的好处就是: 提升了性能(表达式的计算只有一次) 提高了代码的可读性。 set标签属性

IBM Software Group

Set标签以name属性的值作为键(key),将value属性的值保存到指定的范围对象中。属 性scope取值中的page,request,session,application同JSP的4种范围,如果指定了 action范围(默认值),value属性的值将被同时保存到request范围和OgnlContext中。

IBM Software Group

IBM Software Group示例:访问地址:http://localhost:8080/.../setTag.action

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科第五章:struts2标签库全文阅读和word下载服务。

第五章:struts2标签库.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1195710.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top