struts2标签-1.pptVIP

  • 2
  • 0
  • 约4.54千字
  • 约 22页
  • 2018-06-07 发布于浙江
  • 举报
struts2标签-1

Struts 2标签库详解 学习目标 Struts2标签库概述 Struts2数据标签 Struts2控制标签 Struts2表单标签 Struts2非表单标签 Struts2标签库概述 Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成页面上的tree,Tab页等。 非用户界面标签(非UI标签):主要用于数据访问,逻辑控制。 数据访问标签:主要包含用于输出值栈(ValueStack)中的值,完成国际化等功能的标签。 流程控制标签:主要包含用于实现分支,循环等流程控制的标签。 AJAX标签:用于支持Ajax效果 Struts2标签库 在早期的WEB开发中,JSP视图控制和显示技术主要依靠Java脚本来实现,这样一来,JSP页面重新嵌入了大量的Java脚本代码,给开发带来了极大的不方便。 从JSP1.1规范后,JSP增加了自定义标签库的支持。标签库是一种组件技术,通过标签库,可以将复杂的Java脚本代码封装在组件中,开发者只需要使用简单的代码就可以实现复杂的Java脚本功能。提供了Java脚本的复用性,提高了开发者的开发效率。 Struts2标签库相对struts1.x进行了巨大的改进,支持OGNL表达式,不再依赖任何表现层技术。 Struts2标签的使用 我们可以在struts2-core-2.0.11.jar压缩文件的META-INF目录下找到struts-tags.tld文件,这个文件里定义了Struts2的标签。 要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码: %@taglib prefix=s uri=/struts-tags % Struts2标签语法(一) 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。 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 数据标签property标签 property标签用于输出值栈中的对象的属性(property)值,使用value属性来指定要输出的对象属性,如果没有指定value属性,那么默认输出栈顶对象。property标签属性 数据标签set标签 Set标签将一个值赋给指定范围内变量。Set标签在某些情况下是比较有用的,例如在页面中多次引用一个复杂的表达式,我们可以将这个表达式赋给一个变量,然后直接引用变量。带来的好处就是: 提升了性能(表达式的计算只有一次) 提高了代码的可读性。 set标签属性 数据标签push标签 push标签用于把一个值压入值栈(位于栈顶),注意和set标签的区别,set标签是将值放到action上下文中。当push标签结束后,push标签放入值栈中的对象将被删除,换句话说,要访问push标签压入栈中的对象,需要在标签内部去访问。 push标签的属性 Push标

文档评论(0)

1亿VIP精品文档

相关文档