【问题标题】:Using Resourcebundle Properties in Javascript在 Javascript 中使用 Resourcebundle 属性
【发布时间】:2012-12-08 03:15:05
【问题描述】:

我在一个 Java EE Web 应用程序上工作,该应用程序结合使用 Dojo 和纯 javascript 作为前端。

我们发现,当在 javascript 中使用 ResourceBundle 属性时,在某些情况下它们最终会破坏代码。 具体来说,当属性包含引号(单引号和双引号)和转义序列(\n、\s ...)时,就会发生这种情况。

解决方案似乎是包含额外的转义字符。例如,在 Js 警报中使用时,\n 需要在前面加上一个斜杠 (\\n) 正确呈现换行符,如果没有转义,引号会出于明显的原因过早截断内容。

到目前为止,我们对上述问题的解决方案是在属性文件本身中添加额外的转义字符。但这是我们想要摆脱的东西。 看来这可能是一个普遍存在的问题,我想听听专家如何解决这个问题。

当前使用情况:key=A newline is represented with \\n and this \" is within quotes \".

设想用法:key=A newline is represented with \n and this " is within quotes ".

PS:我们通常使用<fmt:message>标签在前端访问这些值并在javascript中使用。

【问题讨论】:

    标签: java javascript dojo special-characters resourcebundle


    【解决方案1】:

    考虑使用 StringUtils。如果有一种方法可以像您一样转义输入。

    http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringEscapeUtils.html#escapeJava(java.lang.String)

    【讨论】:

    • 感谢 asgoth,我认为我们正在倾向于这种方法。
    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 2019-12-15
    • 2014-12-23
    相关资源
    最近更新 更多