利用Struts2怎么對(duì)字符串進(jìn)行截取

這篇文章給大家介紹利用Struts2怎么對(duì)字符串進(jìn)行截取,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),南召企業(yè)網(wǎng)站建設(shè),南召品牌網(wǎng)站建設(shè),網(wǎng)站定制,南召網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,南召網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

在開發(fā)中,經(jīng)常會(huì)遇到字符串太長(zhǎng),需要適當(dāng)截取后再顯示的問(wèn)題,其實(shí)實(shí)現(xiàn)方式有幾種:

·在后臺(tái)截取后之后再傳回頁(yè)面顯示

·在頁(yè)面用標(biāo)簽或代碼實(shí)現(xiàn)

·在前臺(tái)使用腳本來(lái)處理,此方法不推薦

·通過(guò)樣式控制,增加overflow:ellipse等實(shí)現(xiàn),此方法也不推薦

·其他方式

那么如何用struts2標(biāo)簽來(lái)截取字符串呢?網(wǎng)上對(duì)這一問(wèn)題眾說(shuō)紛紜,更有人說(shuō)根本不能實(shí)現(xiàn),其實(shí)實(shí)現(xiàn)方法很簡(jiǎn)單: 首先,你必須用<s:set >將獲取的字符串存到一變量里面,以str屬性為例 直接獲取<s:set name="str" value="list"></s:set>, 從集合中獲取時(shí):     <s:iterator value="集合" >          .........................          <s:set name="str" value="str"></s:set>         .........................     </s:iterator> 然后就是判斷截取,代碼:

// 當(dāng)長(zhǎng)度超過(guò)6時(shí)截取前6為顯示  <s:if test="%{#str.length()>6}">    <s:property value="str.substring(0,6)+'...'" />  </s:if>  //否則全部顯示  <s:else>     <s:property value="str" />  </s:else> 

另外,還有更簡(jiǎn)單的方法,不用set,直接用變量名稱來(lái)處理:

// 當(dāng)長(zhǎng)度超過(guò)6時(shí)截取前6為顯示  <s:if test="str.length()>6">    <s:property value="str.substring(0,6)+'...'" />  </s:if>  //否則全部顯示  <s:else>     <s:property value="str" />  </s:else> 

說(shuō)到這,基本上你的截取問(wèn)題可以解決,但是,這個(gè)方法對(duì)于含html標(biāo)簽的字符串好像有些問(wèn)題,它會(huì)把html標(biāo)簽也截取過(guò)來(lái),導(dǎo)致頁(yè)面會(huì)因?yàn)闃?biāo)簽的不匹配而變形,甚至給“毀容”。 解決這個(gè)問(wèn)題其實(shí)原理大家都很清楚,就是需要事先將字條串中的html標(biāo)簽過(guò)濾掉,查了查struts2的標(biāo)簽說(shuō)明,好像是沒(méi)有這種方法,哎。于是網(wǎng)上搜羅,發(fā)現(xiàn)了僅僅一段代碼的解決方案: Struts2截取帶html標(biāo)簽字符串的方法

<s:property value="#text.replaceAll('<[^>]+>','').substring(0,77)" escape="false" /> 

竟然可以運(yùn)行,又學(xué)習(xí)到了一點(diǎn)點(diǎn)東西,text是變量。 這個(gè)標(biāo)簽的作用就是把獲得的值去掉所有的html標(biāo)簽,并截取前面77個(gè)字符,后面的escape='false'表示對(duì)HTML標(biāo)簽不進(jìn)行編碼。 到此為止該問(wèn)題解決,鼓掌! 從這個(gè)用法可知道,struts2標(biāo)簽上都支持java的String類的所有方法,用法起非常方便,本文就起個(gè)拋磚引玉的作用吧。

關(guān)于利用Struts2怎么對(duì)字符串進(jìn)行截取就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:利用Struts2怎么對(duì)字符串進(jìn)行截取
鏈接地址:http://bm7419.com/article8/jjcsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、定制開發(fā)、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站制作、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)