如何在jsp页面中转义花括号

时间:2015-06-03 13:39:42

标签: java jsp struts curly-braces

在我的Jsp页面中,我得到了

<bean:message key="${person.title}"/>

当'person.title'包含带花括号的字符串时,它会抛出异常

ava.lang.IllegalArgumentException: can't parse argument number:

我测试了值为

“!@#$?%^&amp;(?^ + _。( = - 09 {} |??12345`~ ???,。/ '; []“

注意 - 我尝试在{{之前'设置单引号,并尝试在{但它无法正常工作之前放回斜线\。

3 个答案:

答案 0 :(得分:0)

它通常有助于将斜杠放在大括号之前。
但是既然你已经尝试过它,你可以尝试使用.attr()来访问标题,看看它是否仍然会抛出错误。 / p>

答案 1 :(得分:0)

您是否尝试使用HTML字符实体替换资源包中的大括号?

左支撑&#34; {&#34;是&amp;#123;右支撑&#34;}&#34;是&amp;#125;

旧:

page.title=Some Title {seriously}

新:

page.title=Some Title &#123;seriously&#125;

参考 - http://www.asciitable.com/ - 最喜欢那里。

答案 2 :(得分:0)

如上所述,我尝试了一些不同的东西,例如逃避{使用反斜杠\或单引号&#39;但它都没有奏效。

然后我尝试替换

<bean:message key="${person.title}"/>

<bean:message name="person" property="title"/>

然后尝试再次逃脱但没有运气。最后我通过使用java Expression修复了这个问题,如下所示。一种黑客,但我很好。也不需要逃避角色。

<%= person.getTitle() %>