2015-11-13 71 views
2

是否可以在百里香葉中打印數字作爲十六進制字符串?使用百里香格式化十六進制數字

我有一個數字(例如:16711680),我想在頁面上打印爲0xFF0000。

我可以通過String.format("0x%06X", (0xFFFFFF & intColor));將值發送到上下文之前做到這一點。我寧願讓視圖圖層格式化值。如何顯示號碼應該是它的關注點。

我查看了thymeleaf提供的所有#{numbers}格式化程序。似乎沒有提供這種類型的格式。

回答

1

您可以使用TType Operator來調用類的靜態方法。所以你可以像往常一樣打電話給String.format()。例如。

${T(java.lang.String).format('0x%06X', intColor)} 

這裏唯一的一個小問題就是你不能在Thymeleaf中執行位操作。你要麼需要做到這一點,你將它添加到模型之前,或許看Integer.toHexString(),這將讓你格式化你的電話號碼,就好像它是無符號:

'0x'+${T(java.lang.Integer).toHexString(intColor).toUpperCase()} 

這第二種方法需要一些額外的工作,獲得領先的0x並將字符大寫。