常用的Struts标签有3类: html标签(注意,本文中所有的html标签都是指的Struts的html标签)、logic标签、bean标签。
1、html标签中具代表性的标签有:
<html:form action=””> 表单,所有html表单元素都要放到<html:form>中;
<html:text property=”user.username” /> 输入文本框,可自动绑定ActionForm中对应的属性;
<html:select property=””> html标签的下拉框,property 属性用于绑定ActionForm中的属性;
<html:option value=””>lable<html:option> html标签下拉框的选项;
<html:optionsCollection name=”” label=”” value=””> html标签下拉框的选项集合,可以从 page 、request 、session 、application 中查找集合bean 创建 <html:select>的选项集合。 用法示例:
<html:select property=”user.departmentid” style=”width:80px;”>
<html:optionsCollection name=”departments” label=”deptname” value=”id” />
</html:select>
2、logic标签 (用于页面的逻辑控制):
<logic:empty> 与 <logic:notEmpty> 用于判断bean是否为空。 用用法如下:
<logic:notEmpty name=”loginUser” scope = “session” >
<!-- bean不为空时执行的代码 –>
</logic:notEmpty>
其中 name 用于指定bean的名字,scope用于指定bean的存储范围i,如果不指定,将按 page request session application 的顺序查找bean.
同理 <logic:empty> 用于判断bean为空的情况,用法与<logic:notEmpty>一致。
<logic:equal> 与 <logic:notEqual> 用于判断bean是否相等。 用法如下:
<logic:equal name=”user” property=”username” value=”${sessionScope.loginUser.username }" >
<!-- 相等是执行的代码 –>
<logic:equal>
其中 name用于指定bean的名字,property用于指定bean的属性 value指定要与之比较的值(可以使用字符串值,也可以用EL表达式取值)。
<logic:iterate>标签 (迭代标签,用于循环显示集合数据)。 用法如下:
<logic:iterate id=”book” name=”books” >
<span>${book.title}</span>
</logic:iterate>
其中 name属性用于指定标签的值, 就是循环的集合bean 这里指定bean的名字即可,Struts会自动根据名字获取bean , 不可用EL表达式获取bean。 id属性指定当前循环对象的bean的引用名,在<logic:iterate>标签内可以使用次bean。
3、bean标签 (注意,bean标签中只有<bean:write>有输出功能。) :
<bean:write> 用于jsp页面输出。可以指定以特定格式输出,用法如下:
<bean:write name=”goods” property=”price” format=”#,###" />元 <br/>
<bean:write name=”goods” property=”publishDate” format=”yyyy年MM月dd日" />
<bean:define> 定义页面变量。 用法如下:
<bean:define id=”dataList” type=”java.util.List” name=”list” scope=”request” />
其中 name和scope属性用于获取标签的值, id 属性指定新bean的引用名。
<bean:size> 获取集合数据记录数。 用法如下:
<bean:size id=”count” name=”list” />
共找到${count}条记录
需注意的是,以上所述的标签都属于 Struts1.X 的标签, Struts2.0开始,用到的标签有所不同。