属性文件中的单个大括号
Single Curly Bracket in Properties file
我正在尝试阅读只有一个大括号的文本
Y8R30j)i{sjmPXfE
使用 MessageResources.getMessage()
从 .properties 文件
我收到了这个异常
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
at java.text.MessageFormat.applyPattern(MessageFormat.java:508)
at java.text.MessageFormat.<init>(MessageFormat.java:363)
我试图通过
逃脱
Y8R30j)i'{'sjmPXfE
但我遇到了同样的异常。
org.apache.struts.util.MessageResources 使用 java.text.MessageFormat 将大括号之间的内容解释为要用字符串替换的模式或占位符。
根据例外情况,很明显 java 无法找到键值中左大括号的右大括号,可能的解决方法(使用 struts 1.3)是以下。 (鉴于 unicode 转义或任何其他转义不起作用,可以参考 java.text.MessageFormat.applyPattern() 方法以进一步转义)
在消息资源文件中指定密钥如下 -
key=Y8R30j)i{0}sjmPXfE
在您的操作中使用以下代码读取键值(或任何其他 java)class
MessageResources messages = MessageResources.getMessageResources("MessageResources");
Object[] leftCurlyBrace = { "{" };
String value = messages.getMessage(request.getLocale(), "key", leftCurlyBrace);
我假设您正在 struts 1.x J2EE 环境
中尝试从属性文件中读取一些加密值
我正在尝试阅读只有一个大括号的文本
Y8R30j)i{sjmPXfE
使用 MessageResources.getMessage()
我收到了这个异常
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
at java.text.MessageFormat.applyPattern(MessageFormat.java:508)
at java.text.MessageFormat.<init>(MessageFormat.java:363)
我试图通过
逃脱Y8R30j)i'{'sjmPXfE
但我遇到了同样的异常。
org.apache.struts.util.MessageResources 使用 java.text.MessageFormat 将大括号之间的内容解释为要用字符串替换的模式或占位符。
根据例外情况,很明显 java 无法找到键值中左大括号的右大括号,可能的解决方法(使用 struts 1.3)是以下。 (鉴于 unicode 转义或任何其他转义不起作用,可以参考 java.text.MessageFormat.applyPattern() 方法以进一步转义)
在消息资源文件中指定密钥如下 -
key=Y8R30j)i{0}sjmPXfE
在您的操作中使用以下代码读取键值(或任何其他 java)class
MessageResources messages = MessageResources.getMessageResources("MessageResources");
Object[] leftCurlyBrace = { "{" };
String value = messages.getMessage(request.getLocale(), "key", leftCurlyBrace);
我假设您正在 struts 1.x J2EE 环境
中尝试从属性文件中读取一些加密值