【问题标题】:Spring message tag javascript escapeSpring消息标签javascript转义
【发布时间】:2013-01-24 19:22:21
【问题描述】:

当我们尝试从属性文件中显示标签时,使用 spring 标签,我们可以这样写:

<spring:message javaScriptEscape="true" code="label" />

我无法找出javaScriptEscape="true" 的用途。为什么我们需要这个?

【问题讨论】:

    标签: spring-mvc jsp-tags


    【解决方案1】:

    如果消息是 JavaScript 字符串文字,例如 in

    <script>
        function sayI18nedHello() {
            alert('<spring:message javaScriptEscape="true" code="hello" />');
        }
    </script>
    

    然后你需要这个属性,它将转义单引号和双引号、换行符、制表符等,以确保生成的 JavaScript 是有效的。

    【讨论】:

    • 非常感谢。你能告诉我什么时候应该使用 htmlEscape 以及什么时候使用 javascriptEscape?
    • 嗯,当消息包含在 HTML 文档中时为 htmlEscape,当消息包含在 JavaScript 字符串文字中时为 javascriptEscape。
    • 实际文档在哪里? Spring 网站/文档本身只是注意到它确实“为这个标签设置 JavaScript 转义”,但没有注意到它是否需要周围的引号,以及哪些引号,如果有的话。我本来希望它提供引号,这样你就可以说 alert();它会完成剩下的工作。
    • 如果 javaScriptEscape 提供了引号,那么它就不是程序员通常所说的转义,即将字符串中您想要的字符更改为您可以放入字符串文字的转义序列。在基于 C 的语言中,这通常意味着在事物前面加上反斜杠。但是你说糟糕的 Spring 文档是绝对正确的。观众中的许多人都不会知道这些,并且绝对需要听到它,因此他们有最好的机会不创建可怕的垃圾模板。
    • Spring 是完成这项工作的最佳工具吗?见stackoverflow.com/questions/25491391/…stackoverflow.com/questions/7539954/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多