全部博文(2065)
分类: Java
2008-12-08 10:46:55
3.介绍一下常用的标签库
<%@ taglib prefix="s" uri="/struts-tags" %>
|
Struts 1.x |
Struts 2.0 |
分类 |
将标志库按功能分成HTML、Tiles、Logic和Bean等几部分 |
严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志 |
表达式语言(expression
languages) |
不支持嵌入语言(EL) |
OGNL、JSTL、Groovy和Velcity |
|
要在JSP中使用Struts 2.0标志,先要指明标志的引入。通过在JSP的代码的顶部加入以下代码可以做到这点。 |
o
if、elseif和else
描述:
执行基本的条件流转。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
备注 |
test |
是 |
|
Boolean |
决定标志里内容是否显示的表达式 |
else标志没有这个参数 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
|
o
iterator
描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
status |
否 |
|
String |
如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈 |
value |
否 |
|
Object/String |
要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
i18n
描述:
加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
value |
是 |
|
Object/String |
资源包的类路径(如com.xxxx.resources.AppMsg) |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
include
描述:
包含一个servlet的输出(servlet或jsp的页面)。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
value |
是 |
|
String |
要包含的jsp或servlet |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
param
描述:
为其他标签提供参数,比如include标签和bean标签. 参数的name属性是可选的,如果提供,会调用Component的方法addParameter(String,
Object), 如果不提供,则外层嵌套标签必须实现UnnamedParametric接口(如TextTag)。
|
value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子: <param name="color">blueparam> <param name="color" value="blue"/> |
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
name |
否 |
|
String |
参数名 |
value |
否 |
|
String |
value表达式 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
set
描述:
set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用: 复杂的表达式很耗时 (性能提升) 或者很难理解 (代码可读性提高)。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
name |
是 |
|
String |
变量名字 |
scope |
否 |
|
String |
变量作用域,可以为application, session, request, page, 或action. |
value |
否 |
|
Object/String |
将会赋给变量的值 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
text
描述:
支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle中,如果没有找到相应message,tag body将被当作默认message,如果没有tag body,message的name会被作为默认message。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
name |
是 |
|
String |
资源属性的名字 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
o
url
描述:
该标签用于创建url,可以通过"param"标签提供request参数。
o
property
描述:
得到'value'的属性,如果value没提供,默认为堆栈顶端的元素。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
default |
否 |
|
String |
如果属性是null则显示的default值 |
escape |
否 |
true |
Booelean |
是否escape HTML |
value |
否 |
栈顶 |
Object |
要显示的值 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |