![](/img/trans.png)
[英]How to escape curly braces in my properties file which is fetched using the ResourceBundle API
[英]How to escape curly brackets in .properties file in Struts 1.2
我需要在渲染的 JSP 代碼中保留屬性文件中的大括號。 有可能嗎?
我嘗試過以下選項: \\{
, '{
, {{
, '{'
, /{
,但沒有幫助。
在運行時,我得到一個異常:
java.lang.IllegalArgumentException:無法解析參數編號
問題在於 struts 將{}
作為運行時值的占位符處理。 非常感謝任何幫助。
見這里http://struts.apache.org/2.x/docs/how-to-escape-special-chars-in-resource-bundles.html
使用'{'
和'}'
進行轉義。
重新閱讀您的問題似乎沒有幫助。
就在 10 分鍾前,我跳到了這個問題。 這是我的嘗試:把“{”而不是“{”。 (參考: http : //www.asciitable.com/ )
不要使用 Oct 或 Hex 代碼,因為 Java 會在實際讀取密鑰之前將這些數字解析為 {; 因此,它會導致同樣的問題。 只有 HTML 代碼可以工作,因為 Java 不會解析它,但 JSP 頁面會
從 MessageFormat 規范: http : //download.oracle.com/javase/1.4.2/docs/api/java/text/MessageFormat.html
在字符串中,“''”代表單引號。 QuotedString 可以包含除單引號之外的任意字符; 周圍的單引號被刪除。 UnquotedString 可以包含除單引號和左大括號之外的任意字符。 因此,應生成格式化消息“'{0}'”的字符串可以寫為“'''{'0}''”或“'''{0}'''”。
這意味着您可能應該嘗試像這樣'''{'
完全使用大括號。
由於單引號'
在到達MessageFormat
之前總是被struts
加倍,因此您不能按照@Mihai Toader 的建議生成'''{'
。 或MessageFormat
所需的任何其他奇數計數
我最終使用了值為{
和}
參數
my.property = You have ${0}count{1} unread messages
如果你提供參數值{
和}
,你會得到這個
You have ${count} unread messages
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.