如何在 Struts 1.2 中转义 .properties 文件中的大括号
我需要在渲染的 JSP 代码中保留属性文件中的大括号。是否可以?
我尝试过以下选项: \{
、'{
、{{
、'{'
、/{
,但没有帮助。
在运行时,我得到一个异常:
java.lang.IllegalArgumentException:无法解析参数编号
问题是 struts 将 {}
处理为运行时值的占位符。非常感谢任何帮助。
I have a requirement to retain the curly brackets from properties file in my rendered JSP code. Is it possible?
I have tried options like: \{
, '{
, {{
, '{'
, /{
, but no help.
At runtime, I get an exception:
java.lang.IllegalArgumentException: can't parse argument number
The problem is that struts processes the {}
as a placeholder for a runtime value. Any help greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
请参阅此处 http:// /struts.apache.org/2.x/docs/how-to-escape-special-chars-in-resource-bundles.html
使用
'{'
和' }'
来逃避。重新阅读您的问题似乎没有帮助。
see here http://struts.apache.org/2.x/docs/how-to-escape-special-chars-in-resource-bundles.html
use
'{'
and'}'
to escape.Just re-read your question looks like it didn't help.
10 分钟前我就跳到这个问题了。这是我的尝试:用“{”代替“{”。 (参考:http://www.asciitable.com/)
从Java开始不要使用Oct或Hex代码在实际读取密钥之前会将这些数字解析为 {;因此,它会导致同样的问题。只有 HTML 代码可以工作,因为 Java 不会解析它,但 JSP 页面会解析它
I jumped to this problem just 10 minutes ago. This is my try: put '{' instead of '{'. (Reference: http://www.asciitable.com/)
Don't use Oct or Hex code since Java will parse these numbers into { before actually reading the key; therefore, it will lead to the same problem. Only HTML code will work, since Java will not parse it, but the JSP page will
根据 MessageFormat 规范:http://download. oracle.com/javase/1.4.2/docs/api/java/text/MessageFormat.html
这意味着您可能应该尝试像这样
'''{'
那样关闭大括号。From the MessageFormat spec: http://download.oracle.com/javase/1.4.2/docs/api/java/text/MessageFormat.html
which means you should probably try to quite your curly braces like this
'''{'
.由于单引号
'
在到达MessageFormat
之前总是被struts
加倍,因此您无法生成'''{' 如@Mihai Toader建议。或 < 所需的任何其他奇数个数code>MessageFormat
我最终使用了值为
{
和}
的参数,如果您提供参数值
{
和}
,你明白了Since single quote
'
is always doubled bystruts
before it arrives intoMessageFormat
, you can not produce'''{'
as suggested by @Mihai Toader. Or any other odd-numbered count of them required byMessageFormat
I have ended up using parameters with value
{
and}
If you supply parameter values
{
and}
, you get this