2012-06-16 38 views
0

我是JSP新手,所以在使用JSP標記顯示某些消息時遇到問題。
我想顯示這些消息遵循這個慣例:如果文本的長度等於或小於50,那麼它會顯示整個文本內容,否則只是首先顯示50個字符,並追加「...」,以它的尾巴。
我正在考慮添加一個屬性(稱爲maxDisplayChars,類型是整數)的解決方案來做到這一點。如果指定了該屬性,則將執行顯示約定,如果不是則默認行爲將被保留爲默認行爲。此附加屬性將幫助我減少代碼更改,只需查看應用程序的哪一部分需要應用此規則並「插入」此屬性。
您認爲此解決方案有可能嗎?如果是,那麼如何實現它(對不起,我只是JSP和JSTL中的新手-_-),如果沒有任何其他方法可以解決這個問題?
非常感謝。在JSP中添加自定義屬性到<c:out>標記

回答

1

你有三個合理選擇:

使用JSP定製標記

縮短(brief intro
2.縮短數據它獲取到你的JSP之前
做吧在客戶端使用JavaScript,例如,使用jQuery truncator

各有優點和缺點。


自定義標籤

(可能是在Java中,也不過EW)易於實施,允許選擇使用從JSP參數的大小,可以包括任何你想要的選項,包括相關到JS(見#3)。

JSP

最大的缺點是,你選擇你的後端代碼的長度,並改變意味着重新編譯和部署之前縮短。例如,您可以將文本切成40個字符。

使用JavaScript

最靈活的。如果你縮小巨大的字符串可能不是最佳的,在這種情況下,我會考慮自定義標記和JS的組合。

尼斯的是,你可以不喜歡把文字(截斷的部分)的其餘部分將像使用別人的代碼懸停觸發彈出式和東西。你也可以在自定義標籤中使用相同的JS,從而產生一個非常強大的解決方案。