91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Struts2怎么對字符串進行截取

發布時間:2020-12-07 16:33:16 來源:億速云 閱讀:196 作者:Leah 欄目:編程語言

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

在開發中,經常會遇到字符串太長,需要適當截取后再顯示的問題,其實實現方式有幾種:

· 在后臺截取后之后再傳回頁面顯示

· 在頁面用標簽或代碼實現

· 在前臺使用腳本來處理,此方法不推薦

· 通過樣式控制,增加overflow:ellipse等實現,此方法也不推薦

· 其他方式

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

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

另外,還有更簡單的方法,不用set,直接用變量名稱來處理:

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

說到這,基本上你的截取問題可以解決,但是,這個方法對于含html標簽的字符串好像有些問題,它會把html標簽也截取過來,導致頁面會因為標簽的不匹配而變形,甚至給“毀容”。 解決這個問題其實原理大家都很清楚,就是需要事先將字條串中的html標簽過濾掉,查了查struts2的標簽說明,好像是沒有這種方法,哎。于是網上搜羅,發現了僅僅一段代碼的解決方案: Struts2截取帶html標簽字符串的方法

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

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

關于利用Struts2怎么對字符串進行截取就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昂仁县| 永吉县| 潞西市| 宝应县| 兖州市| 庆阳市| 海丰县| 铜川市| 潼南县| 镇平县| 阜南县| 遵化市| 普定县| 扎兰屯市| 桐梓县| 衡水市| 石屏县| 洪洞县| 凤凰县| 米泉市| 牙克石市| 通许县| 江油市| 彭水| 武清区| 浙江省| 高青县| 武宁县| 胶南市| 海盐县| 徐州市| 徐汇区| 北辰区| 台东县| 龙陵县| 三台县| 广昌县| 迁安市| 江口县| 镶黄旗| 电白县|