sparta-紫杉 2010-4-14 16:53
開發(fā)環(huán)境:eclipse3.4.2 + weblogic10.3 + jdk1.6.0_13 + Struts2.1.8 + Spring3.0.1 + Hiberante3.3.2
在Web系統(tǒng)或項目的開發(fā)過程中,jsp頁面上經(jīng)常會使用checkbox來實現(xiàn)用戶多選的要求。
普通的寫法多半是這樣:
<input type=checkbox name="abc" value="1" checked>北京<br>
<input type=checkbox name="abc" value="2">上海<br>
<input type=checkbox name="abc" value="3">天津<br>
那么既然使用了SSH2的開發(fā)框架,當然要使用Struts2的<s:checkbox/>標簽來實現(xiàn)用戶的多選要求。
令人不解的是,網(wǎng)絡(luò)上大多是在詳解<s:checkboxlist/>,但對于<s:checkbox/>卻描述的很少。
今天正好要用到這個<s:checkbox/>,咱也不妨來“詳解”一下子,一來是做個筆記,二來若是能為各位程序達人在關(guān)鍵時刻提個醒,以解決探索之苦!
至于<s:checkbox/>和<s:checkboxlist/>的區(qū)別我不談了,大家可以在百度上搜一下。
其實,<s:checkbox/>還是挺好入門的,不外乎有下面幾個屬性,id、name、value、fieldValue、label共計5個常用屬性。
id和name: 指的是該標簽的標識id和標識名。
value : 指是否選中,其值只能為True或False,相當于傳統(tǒng)checkbox中的checked。
fieldValue : 相當于傳統(tǒng)checkbox中的value值。
label : 對于該checkbox顯示在頁面上方框后面的描述。
還是打個簡單的比方吧, 比如我要用角色id(RoleId)和角色名稱(RoleName)來生成很多checkbox,那么采用如下的寫法。
<s:checkbox id="permisskey" name="permisskey" label="超級管理員" value="true" fieldValue="Role_Admin"/>
<s:checkbox id="permisskey" name="permisskey" label="普通用戶" value="false" fieldValue="Role_User"/>
那么在生成真正的Html頁面時,大約是下面這樣的形式:
<input type="checkbox" id="permisskey" name="permisskey" checked value="Role_Admin">超級管理員
<input type="checkbox" id="permisskey" name="permisskey" value="Role_User">普通用戶
當然上面的例子建立在Struts2默認的主題(theme)下,大家可別忘了這個關(guān)鍵的屬性“theme”。
不妨再加個屬性試試吧:
<s:checkbox theme="simple" id="permisskey" name="permisskey" label="超級管理員" value="true" fieldValue="Role_Admin"/>
<s:checkbox theme="simple" id="permisskey" name="permisskey" label="普通用戶" value="false" fieldValue="Role_User"/>
設(shè)置了theme="simple"之后,便自動放棄了Struts2的一些裝飾。那么顯示的頁面上的結(jié)果會令你大吃一驚的:
<input type="checkbox" id="permisskey" name="permisskey" checked value="Role_Admin">
<input type="checkbox" id="permisskey" name="permisskey" value="Role_User">
注意到?jīng)]有, 后面的“超級管理員”和“普通用戶”兩段字眼莫名其妙的消失了。這就是theme起的主要作用。
當然,還需要注意,這個theme是有繼承性的, 比方說,這個<s:checkbox/>在一個<s:form/>里面,并且這個<s:form/>里面也設(shè)置了theme="simple"的話,就會影響到這個<s:checkbox/>,等于為該<s:checkbox/>設(shè)置了theme-"simple"。
哈哈,就這么多了。
-東營 sparta-紫杉 原創(chuàng),轉(zhuǎn)載請注明出處 :)
http://m.tkk7.com/SpartaYew/
SpartaYew@163.com
QQ:22086526