java - 每页 Sitemesh 自定义 javascript

标签 java jquery spring sitemesh

我正在将 sitemesh 用于基于 spring 的站点。问题是我有一些 javascript,我希望它使用 jquery 在一个特定页面的 onload 事件上运行 $(function() { ... })而不是在每一页上。

我将 jquery.js 包含在装饰器的底部,在主体之后。所以,如果我尝试包含 <script>在我装饰页面的正文中标记脚本将不会执行,因为 jquery 将在 之后 加载!我知道我可以在装饰器的 header 中包含 jquery.js,因此它会在装饰页面中的自定义脚本之前,但是我不太喜欢该解决方案,因为它将在我的页面 header 中包含 javascritp。

所以我想在我的 sitemesh 装饰器中有一个占位符之类的东西,我的装饰页面中的自定义将被放置在其中(你可以理解我来自 django 世界 :p)。这可能吗 ?您是否提出其他任何建议,或者我应该将我的 jquery.js 放在标题中并完成它?

最佳答案

为了回答我的问题,经过一番搜索,我找到了以下解决方案:

我在装饰器页面的末尾添加了以下内容(在包含 jquery.js 之后)

<decorator:getProperty property="page.local_script"></decorator:getProperty>

我还添加了以下内容

<content tag="local_script">
<script>
  $(function() {
    alert("Starting");
  });
</script>
</content>

装饰后的结果页面包含了 local_script 标签的内容,正好在我想要的位置,一切正常:)

我不知道为什么没有正确记录 sitemesh 的这个特性——使用它你可以有一个很好的模板行为(比如 django)。

关于java - 每页 Sitemesh 自定义 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111545/

相关文章:

java剪贴板错误(bug)?

java - 使用编程配置 hibernate ,启动 hibernate.hbm2ddl.auto

java - 带有 Rest 接口(interface)的 Spring Mvc Web 应用程序

java - Spring RestTemplate : How to reach state to check #is4xxClientError, 而不是 RestClientException 第一个?

java - 如何使用Netbeans检查项目和依赖项中的java文件使用情况?

java - 用另一个索引映射存储一个映射 Java

javascript - 在每秒 td 中选择 span,它周围没有 anchor

javascript - 无法在 JavaScript 中访问模型的属性

javascript - 检测隐藏表单域的变化

java - Perf4j 私有(private)方法的 @profiled 注释