常用的Struts標簽庫有以下五大類:
1.HTML Tag:
用來創(chuàng)建能夠和Struts框架以及其它相應(yīng)的HTML標簽交互的HTML輸入表單;
如:<html:form></html:form>,<html:text/>,<html:password/>,<html:radio/>,<html:checkbox/>,<htmlmultibox>
2.Bean Tag
該標簽庫包含的標簽可以用來創(chuàng)建bean、訪問bean和訪問bean的屬性。
如:<bean:write/>:用于將bean的屬性輸送到j(luò)sp頁面,<bean:define/>定義一個新的bean
3.Logic Tag
該標簽庫包含的標簽可以用來進行邏輯判斷、集合迭代和流程控制。
如:<logic:iterate/>:用來循環(huán)迭代,<logic:eaual/>:用來進行邏輯判斷
4.Nested:增強對其他Struts標簽的嵌套使用能力
該標簽庫建立在前三個標簽庫的基礎(chǔ)上,具有前三個標簽庫的所有功能,只是允許標簽間的嵌套。
5.Template Tag
隨著Titles框架包的出現(xiàn),此標記已開始減少使用
下面介紹幾個最常用的標簽:
<html:check box/>一般用于一個選項的復(fù)選框
<html:multibox/>一般用于多個選項的復(fù)選框
<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]為參數(shù)
<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 />標簽是用來判斷是否為空的。如果為空,該標簽體中嵌入的內(nèi)容就會被處理
<logic:empty name="listForm" property = "persons"> <div>集合persons為空!</div> </logic:empty>
1.下面給一個表單的完整代碼:
使用html標簽作為表單輸入,可以方便的使用驗證框架即:<html:errors property="username">
2.下面給一個顯示數(shù)據(jù)的代碼:
作為顯示數(shù)據(jù),Struts標簽并不比Jstl與EL方便,因此,本人更習慣用后者
其實Struts標簽的好處,并不是上面這些,而是它可利用ActionForm來填充數(shù)據(jù)
比如我們在做頁面數(shù)據(jù)修改的時候,會讓當前頁面數(shù)據(jù)顯示到顯示修改頁面,這樣利于客戶端修改
以前我們這樣做的:根據(jù)id從數(shù)據(jù)庫查出,然后使用html的value屬性填充,現(xiàn)在有了Struts標簽,就不需要那么麻煩了
直接在Action里填充ActionForm的數(shù)據(jù)就搞定了: