【问题标题】:How to get JQuery Manipulation and Spring 4 to play nice如何让 JQuery Manipulation 和 Spring 4 发挥得很好
【发布时间】:2014-07-04 00:36:46
【问题描述】:

我正在创建一个 Spring Boot 4 应用程序,我想包含找到 here 的 JqueryUI 通知小部件。出现问题是因为示例 HTML 看起来像这样......

<div id="container">
    <div id="basic-template">
        <a class="ui-notify-cross ui-notify-close" href="#">x</a>
        <h1>#{title}</h1>
        <p id="textArea">#{text}</p>
    </div>
</div>

Spring当然抱怨jsp中的#{title}

/WEB-INF/jsp/main.jsp (line: 10, column: 27) #{...} is not allowed in 模板文本

我看到这是来自这个问题here 的旧 JSF 内容的副作用。有没有解决的办法?是否可以在 src>main>resources>static>alert.html 中包含文件?

【问题讨论】:

  • 尝试将#{title} 替换为&amp;#35;{title},将#{text} 替换为&amp;#35;{text}。顺便说一句,我不认为是 Spring 造成的。
  • 太棒了!定期回答你就赢了:-)
  • 您认为是什么原因造成的?我不认为这是 Spring 本身,而是他们使用的 JSP 库的版本。
  • 我认为这是 JSP 编译器在犹豫,因为 #{xxx} 语法是 Facelets 的东西(我相信,可能是错误的)。因此,JSP 编译器看到它并吓坏了。至少,这是我的理论。转义它使得 JSP 编译器忽略它,或者至少理论上是这样。
  • 是的,我从其他帖子中了解到这一点。然而,有了如此简单的答案,我很惊讶没有其他问题可以找到。感谢您非常务实的回答!

标签: jquery spring-mvc spring-boot spring-4


【解决方案1】:

本质上(CodeChimp 值得称赞)这个问题的答案是“欺骗”JSP 解析器。它看不到#,只有转义的“#”,并允许嵌入这个小部件。但是,当它由浏览器呈现时(客户端不再进行 JSP 处理),它允许它以 jquery 需要的方式呈现。

【讨论】:

    猜你喜欢
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 2014-01-06
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多