struts1.x的常用标签
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。这里仅对项目中常用的Bean标签及Logic标签做一介绍。
Bean标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic标签: 管理条件产生的输出和对象集产生的循环
在使用标签的时候需注意struts标签不能嵌套使用(也就是说在一个标签的属性中不能写另一个标签)。
标签的一些公共属性:
- id命名自定义标签创建时的脚本变量名。name?? 指出关键字值,在该关键字下可以找到一个存在的bean 。如果给出了scope属性,则仅仅在scope中查找。否则,根据标准的顺序在各种scope中查找:(page, request, session, or application)。property?? 指出bean 中的某个属性,可以在其中检索值。如果没有标明,则使用对象本身的值。scope?? 定义了Bean在哪个范围(page, request, session, or application)中被查找。如果没有标明按顺序查找。脚本变量(见id)将在相同的范围中创建。
一、Bean标签实例说明:
bean:define:有三个用途。我们较多使用为后两者。
一是定义新字符串常量:
?
二是复制一个现有的bean给新的bean:
?
三是复制一个现有的bean的属性给新的bean:
bean:message:用来实现对国际化的支持的一个标签。
一般使用为:
在资源文件中的定义:info.myKey = Hello
标记的使用:<bean:message key="info.myKey" />
Jsp页面的显示:Hello?
需要参数设置时:
在资源文件中的定义:info.myKey = The numbers entered are {0},{1},{2},{3}
标记的使用:<bean:message key="info.myKey" arg0="5" arg1="6" arg2="7" arg3="8"/>
Jsp页面的显示:The numbers entered are 5,6,7,8? // 最多支持4个参数
bean:write:以字符串形式输出bean的属性值。
filter属性:设为true时,将HTML保留字转换为实体("<" 转换为 <);
ignore属性:如果对象不存在,不会抛出异常。
<bean:write name="userRegistration" property="email" scope="request"/>
二、Logic标签实例说明
logic:iterate 标签来迭代集合。
indexId属性:当前访问元素的序号
length属性:指定输出元素的个数
offset属性:指定从第几个元素开始输出?
logic:empty 该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。
(logic:notEmpty 标签的应用正好和logic:empty标签相反。为防止空指针,不能确定对象是否为空时,务必首先使用该标签进行判断)
该标签用于以下情况:
1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。?
logic:equal 该标签为等于比较符。?该文章来源:http://kdboy.iteye.com/blog/212541