??? 從畢業(yè)到現(xiàn)在,一直用struts在開發(fā)!對struts標(biāo)簽用的算是比較多了,也確實(shí)非常喜歡struts的風(fēng)格!
??? 可最近接觸一些朋友,包括在網(wǎng)上看到一些文章,發(fā)現(xiàn)大家對struts標(biāo)簽的影響好像并不怎么樣!很多公司用struts的MVC卻不用他的標(biāo)簽,也有很多朋友就是覺得JSTL比較好!
??? 一直很納悶這個(gè)問題,這里只想說說自己用struts標(biāo)簽的感受!
??? 一、美觀的標(biāo)簽風(fēng)格
??? ?? 標(biāo)簽風(fēng)格與普通的html標(biāo)簽完全一樣,各種標(biāo)簽屬性的注入不使用任何特殊符號,保證了jsp頁面的統(tǒng)一和美觀;
??? ?? 同樣是在頁面上輸出某個(gè)Bean的屬性,用struts的<bean:write name="beanName" property="name" />標(biāo)簽看上去多簡潔明了。但如果用JSTL的<c:out value="${beanName.name}" />則需要使用特殊符號“$”,看上去極其別扭!另外出錯(cuò)率也是相對比較高的!比如寫掉了一個(gè)
“}”,頁面也卻不報(bào)語法錯(cuò),如果不運(yùn)行該頁面,我相信你是很難查出來的!
??? 二、強(qiáng)大的功能
??? ?? 普通的輸出,循環(huán)迭代、比較判斷、鏈接、下拉框、等等功能,對struts標(biāo)簽和JSTL來說都沒有任何問題!
??? ?? 但如果要實(shí)現(xiàn)多語言,我相信絕對不會(huì)有人忘記struts的<bean:message/>標(biāo)簽,有了<bean:message/>標(biāo)簽,咱們的jsp頁面上真的就不用出現(xiàn)任何的文字描述了!這樣的頁面代碼難道可讀性不高嗎?下面是我的一個(gè)簡單頁面,感受一下!呵呵 !
??? ??
??? ?? 另外,你如果在jsp頁面上寫一些javascript腳本,用于驗(yàn)證的話,提示信息肯定是必不可少的!為了頁面美觀,你同樣可以寫alert('<bean:message key="XXX"/>');這樣的代碼來彈出提示信息,絕對沒有任何問題! :-)
??? ??? <html:errors/>標(biāo)簽就不用我多說了吧!用來顯示ValidatorPlugIn框架攔截信息的不二選擇!
??? 三、支持自定義標(biāo)簽
??? ?? 在實(shí)際開發(fā)過程我們都會(huì)碰到一些特殊的業(yè)務(wù)邏輯,不管是用struts還是JSTL都比較難直接解決!這個(gè)時(shí)候,struts對自定義標(biāo)簽的支持就突顯優(yōu)勢了!
??? ?? 首先,根據(jù)你的個(gè)人喜好,用任意名稱定義一個(gè)簡單的tld(yjhmily.tld),然后在tld中,定義你的標(biāo)簽簽名(<yjhmily:page/>)和屬性,然后寫一個(gè)繼承BodyTagSupport(還有其他父類)的類,根據(jù)具體業(yè)務(wù)邏輯寫幾個(gè)方法;最后在頁面上引入標(biāo)簽<yjhmily:page name="XXX" href="XXX"/>,基本就ok了!大有一行標(biāo)簽抵好幾行代碼的感覺!呵呵!
??? ?? 我的jsp頁面:
??? ?? ?? ?? ?? ??
??? ?? ?? ?? ?? ??
??? ??
??? ?? 接下來只需要在action中往請求里存入解得列表的sql語句.
??? ?? 頁面效果如下:
??? ?? ?? ?? ??
???? ?? 個(gè)人覺得這樣的自定義標(biāo)簽,在團(tuán)隊(duì)開發(fā)中效果還是非常明顯的,每個(gè)人都不用去關(guān)心分頁的具體邏輯,只需要自己寫sql語句,然后在頁面引用標(biāo)簽就ok了!
??? ?? struts標(biāo)簽還有很多其他的好處,這里就不一一描述了!總之,強(qiáng)烈支持struts標(biāo)簽!
??? ? 歡迎各位指點(diǎn)!
????
???
???
??? 可最近接觸一些朋友,包括在網(wǎng)上看到一些文章,發(fā)現(xiàn)大家對struts標(biāo)簽的影響好像并不怎么樣!很多公司用struts的MVC卻不用他的標(biāo)簽,也有很多朋友就是覺得JSTL比較好!
??? 一直很納悶這個(gè)問題,這里只想說說自己用struts標(biāo)簽的感受!
??? 一、美觀的標(biāo)簽風(fēng)格
??? ?? 標(biāo)簽風(fēng)格與普通的html標(biāo)簽完全一樣,各種標(biāo)簽屬性的注入不使用任何特殊符號,保證了jsp頁面的統(tǒng)一和美觀;
??? ?? 同樣是在頁面上輸出某個(gè)Bean的屬性,用struts的<bean:write name="beanName" property="name" />標(biāo)簽看上去多簡潔明了。但如果用JSTL的<c:out value="${beanName.name}" />則需要使用特殊符號“$”,看上去極其別扭!另外出錯(cuò)率也是相對比較高的!比如寫掉了一個(gè)
“}”,頁面也卻不報(bào)語法錯(cuò),如果不運(yùn)行該頁面,我相信你是很難查出來的!
??? 二、強(qiáng)大的功能
??? ?? 普通的輸出,循環(huán)迭代、比較判斷、鏈接、下拉框、等等功能,對struts標(biāo)簽和JSTL來說都沒有任何問題!
??? ?? 但如果要實(shí)現(xiàn)多語言,我相信絕對不會(huì)有人忘記struts的<bean:message/>標(biāo)簽,有了<bean:message/>標(biāo)簽,咱們的jsp頁面上真的就不用出現(xiàn)任何的文字描述了!這樣的頁面代碼難道可讀性不高嗎?下面是我的一個(gè)簡單頁面,感受一下!呵呵 !
??? ??
??? ?? 另外,你如果在jsp頁面上寫一些javascript腳本,用于驗(yàn)證的話,提示信息肯定是必不可少的!為了頁面美觀,你同樣可以寫alert('<bean:message key="XXX"/>');這樣的代碼來彈出提示信息,絕對沒有任何問題! :-)
??? ??? <html:errors/>標(biāo)簽就不用我多說了吧!用來顯示ValidatorPlugIn框架攔截信息的不二選擇!
??? 三、支持自定義標(biāo)簽
??? ?? 在實(shí)際開發(fā)過程我們都會(huì)碰到一些特殊的業(yè)務(wù)邏輯,不管是用struts還是JSTL都比較難直接解決!這個(gè)時(shí)候,struts對自定義標(biāo)簽的支持就突顯優(yōu)勢了!
??? ?? 首先,根據(jù)你的個(gè)人喜好,用任意名稱定義一個(gè)簡單的tld(yjhmily.tld),然后在tld中,定義你的標(biāo)簽簽名(<yjhmily:page/>)和屬性,然后寫一個(gè)繼承BodyTagSupport(還有其他父類)的類,根據(jù)具體業(yè)務(wù)邏輯寫幾個(gè)方法;最后在頁面上引入標(biāo)簽<yjhmily:page name="XXX" href="XXX"/>,基本就ok了!大有一行標(biāo)簽抵好幾行代碼的感覺!呵呵!
??? ?? 我的jsp頁面:
??? ?? ?? ?? ?? ??
??? ?? ?? ?? ?? ??
??? ??
??? ?? 接下來只需要在action中往請求里存入解得列表的sql語句.
??? ?? 頁面效果如下:
??? ?? ?? ?? ??
???? ?? 個(gè)人覺得這樣的自定義標(biāo)簽,在團(tuán)隊(duì)開發(fā)中效果還是非常明顯的,每個(gè)人都不用去關(guān)心分頁的具體邏輯,只需要自己寫sql語句,然后在頁面引用標(biāo)簽就ok了!
??? ?? struts標(biāo)簽還有很多其他的好處,這里就不一一描述了!總之,強(qiáng)烈支持struts標(biāo)簽!
??? ? 歡迎各位指點(diǎn)!
????
???
???