常用的Struts标签库有以下五大类:
1.HTML Tag:
用来创建能够和Struts框架以及其它相应的HTML标签交互的HTML输入表单;
如:<html:form></html:form>,<html:text/>,<html:password/>,<html:radio/>,<html:checkbox/>,<htmlmultibox>
2.Bean Tag
该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。
如:<bean:write/>:用于将bean的属性输送到jsp页面,<bean:define/>定义一个新的bean
3.Logic Tag
该标签库包含的标签可以用来进行逻辑判断、集合迭代和流程控制。
如:<logic:iterate/>:用来循环迭代,<logic:eaual/>:用来进行逻辑判断
4.Nested:增强对其他Struts标签的嵌套使用能力
该标签库建立在前三个标签库的基础上,具有前三个标签库的所有功能,只是允许标签间的嵌套。
5.Template Tag
随着Titles框架包的出现,此标记已开始减少使用
下面介绍几个最常用的标签:
<html:check box/>一般用于一个选项的复选框
<html:multibox/>一般用于多个选项的复选框
<bean:write name="user" property="username"/>等同于EL表达示:${user.username}
<bean:define id="inter" name="user" property="interest" type="java.lang.String"/>定义一个bean
<bean:message key=" " arg0=" "/> key 定义在资源文件中,args0[1,2]为参数
<logic:iterate name="list" id="user"> 等同于JSTL的:<c:foeach item=${list} var="user"/>
<logic:equal name="user" property="sex" value="0"/>等同于JSTL的:<c:when test=""/>
<logic:empty />标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理
<logic:empty name="listForm" property = "persons"> <div>集合persons为空!</div> </logic:empty>
1.下面给一个表单的完整代码:
使用html标签作为表单输入,可以方便的使用验证框架即:<html:errors property="username">
2.下面给一个显示数据的代码:
作为显示数据,Struts标签并不比Jstl与EL方便,因此,本人更习惯用后者
其实Struts标签的好处,并不是上面这些,而是它可利用ActionForm来填充数据
比如我们在做页面数据修改的时候,会让当前页面数据显示到显示修改页面,这样利于客户端修改
以前我们这样做的:根据id从数据库查出,然后使用html的value属性填充,现在有了Struts标签,就不需要那么麻烦了
直接在Action里填充ActionForm的数据就搞定了: