struts2标签库
Posted 黄小鱼ZZZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2标签库相关的知识,希望对你有一定的参考价值。
struts2标签库
struts2标签库是一个比较完善而且功能强大的标签库,该标签库大大的简化了试图页的代码,从而能够提高视图页面的维护效率,struts2标签库功能强大,而且简单易用。
优点
struts2标签库的标签不依赖于任何表现层技术,其提供了大部分的标签,能够在各种表现层技术中使用,包括最常见的jsp页面Velocity和FreeMarket等模板技术中也能够使用。以下是他的优点:
1)易于安装。标签库很容易从一个jsp项目迁移到其他的项目中。
2)易于扩展。可以无限制地扩展和增加jsp的使用。
3)比较容易维护。标签库能够使得jsp的Web应用非常易于维护。以下几点原因可以说明:
a,标签应用简单,很容易使用、便于理解。
b,所有的程序逻辑代码都集中放在标签处理器和javabean中。当升级代码时,并不需要对每个使用该代码的页面进行修改,只需要修改其中的代码文件就行了。
c,如果需要加入新的功能的话,只需要在标签中加入额外的属性,从而引进新的属性,其他的旧属性不变。
d,能够提高代码的重用性。
组成
1)JavaBean,并不是必不可少,但是他们是用来执行所分配任务的基础代码模块。
2)标签处理器。标签库的真正核心。jsp把页面上设置的标签属性和标签体中的内容都传递给标签处理器,当标签处理器完成其处理过程后,它就会把处理结果返回到jsp页面,从而能够做进一步处理。(一个标签处理器可以引用它所需要的任何的外部资源,并且负责访问jsp页面的信息)。
3)标签库描述符。标签库描述符是一个简单的XML文件,它记录着标签处理器的属性、信息和位置等信息。
4)web.xml文件。该文件是web站点的初始化文件,在这个文件中,需要定义web站点中用到的自定义标签。
5)标签库声明。要在jsp页面中使用某个自定义标签,需要先对该标签库进行声明。
控制标签
if/elseif/else标签
if/elseif/else标签用于进行程序分支逻辑控制,它们的用法以及使用规范与java中的基本一致。
iterator标签
iterator标签用于迭代输出集合中的元素,集合可以是Collection,Map,Enumeration,Iterator或者数组。
append标签
append标签用于将多个集合合并成一个新的集合。在append标签内部,通过使用一个或几个param自标签指定要合并的集合。
append标签通常和iterator标签一起使用。
merge标签
merge标签也是用来将多个集合合并成一个新的集合,跟append的标签的作用很相似,但是对合并后的集合元素迭代顺序不一样。
sort标签
sort标签根据comparator属性指定的比较器对集合进行排序,并将排好序的迭代器压入值栈的栈顶。在sort标签的内部,能够使用iterator标签取出栈顶的迭代器对排序后的元素进行迭代,当sort标签结束时,栈顶的迭代器将被删除。
generator标签
generator标签根据separator属性指定的分隔符,将val属性指定的值进行拆分,然后生成一个集合,压入值栈的栈顶,当generator标签结束时,栈顶的迭代器将被删除
submet标签
submet标签用来截取集合中的部分元素,从而形成一个新的集合。
数据标签
数据标签主要用来实现获得或访问各种数据的功能,主要访问ActionContext和值栈中的数据。
property标签
property标签用于输出值栈中的对象的属性值
set标签
set标签用来定义一个新的变量,并将一个已知的值赋值给这个新的变量,同时可以把这个新的变量放到指定的范围内。
push标签
push标签用于将一个值压入值栈(位于栈顶)。当push标签结束后,push标签放入值栈中的对象将被删除,换句话说,要访问push标签压入栈中的对象,需要在标签内部去访问。
param标签
param标签被用于其他标签的子标签,用于为其他标签提供参数。
bean标签
bean标签用于在当前页面中创建JavaBean实例对象。
action标签
通过指定action的名字和可选的名称空间,action标签允许在jsp页面中直接调用Action。
include标签
include标签用来将jsp或Servlet等资源内容包含在当前页面中,类似于jsp中的<jsp:include>.在include标签内部使用param标签向被包含的页面传递的请求参数,需要使用EL表达式来访问,不能使用<s:proerpty value="#parameters.参数名"/>来访问。
url标签
url标签用来在页面中生成一个url地址。
date标签
date标签用来格式化输出一个日期,也可用于输出当前日期值与指定日期值之间的时差。
debug标签
debug标签主要用于辅助调试,通过该标签可以在页面上生成一个链接,单击这个链接可以查看当前ValueStack和Stack Context中的所有信息。
以上是关于struts2标签库的主要内容,如果未能解决你的问题,请参考以下文章