基础导航顶部栏不适用于 thymeleaf
Foundation navigation top-bar not working with thymeleaf
我有一个使用 Spring MVC + thymeleaf 的 HTML 模板文件,我正在尝试使用 Foundation 的 "top-bar" 组件在页面顶部创建一个可导航菜单。
至此,菜单栏显示出来了,但是当光标放在最上面时,菜单没有显示出来。
我可以显示与主菜单选项相关的子菜单(位于栏中的那些),但子菜单不起作用,因为当我单击第一个子菜单上的选项时,菜单反而关闭了显示另一个子菜单。
我的 HTML 文件如下所示:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<link rel="stylesheet" type="text/css" media="all" th:href="@{/css/foundation.min.css}" />
</head>
<body>
<nav class="top-bar" role="navigation" data-topbar="true">
<ul class="title-area">
<li class="name">
</li>
<li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a>
</li>
</ul>
<section class="top-bar-section">
<ul class="left">
<li class="divider"></li>
<li class="has-dropdown"><a href="#"><span th:text="#{menu.administration}"></span></a>
<ul class="dropdown">
<li class="has-dropdown"><a href="#"><span th:text="#{menu.administration.material}"></span></a>
<ul class="dropdown">
<li><a href="#"><span th:text="#{menu.administration.ontology}"></span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</nav>
<div>
<div class="large-12 columns">
<h2 th:text="#{material.search.title}"></h2>
</div>
</div>
<script th:href="@{/js/vendor/jquery.js}"></script>
<script th:href="@{/js/foundation.min.js}"></script>
<script th:href="@{/js/foundation/foundation.topbar.js}"></script>
<script th:href="@{/js/vendor/modernizr.js}"></script>
<script>
jQuery(document).ready({
jQuery(document).foundation();
});
</script>
</body>
</html>
我确定我的资源已正确导入。
此外,我不得不使用 data-topbar="true"
,因为如果我只使用 data-topbar
,我的页面在渲染时会失败,说它期待 属性 之后的 =
名字.
我是不是做错了什么?
非常感谢大家的帮助!
你的 th:text="#{menu.administration}
不工作
结构应该是
<h1 th:text="${header.title}">title</h1>
<small th:text="${header.subtitle}">Subtitle</small>
你不能留空而期待一个值
请看教程http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html
问题出在我用来导入 JS 文件的 属性 中。
如我的代码所示,导入如下所示:
<script th:href="@{/js/foundation.min.js}"></script>
但是要导入脚本文件 href
属性 是错误的,它必须是 src
所以正确的格式是:
<script th:src="@{/js/foundation.min.js}"></script>
我知道这是一个愚蠢的错误,但我希望它能帮助其他人。
编译和生成页面时从未显示错误这一事实让我有点担心。
我有一个使用 Spring MVC + thymeleaf 的 HTML 模板文件,我正在尝试使用 Foundation 的 "top-bar" 组件在页面顶部创建一个可导航菜单。
至此,菜单栏显示出来了,但是当光标放在最上面时,菜单没有显示出来。
我可以显示与主菜单选项相关的子菜单(位于栏中的那些),但子菜单不起作用,因为当我单击第一个子菜单上的选项时,菜单反而关闭了显示另一个子菜单。
我的 HTML 文件如下所示:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<link rel="stylesheet" type="text/css" media="all" th:href="@{/css/foundation.min.css}" />
</head>
<body>
<nav class="top-bar" role="navigation" data-topbar="true">
<ul class="title-area">
<li class="name">
</li>
<li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a>
</li>
</ul>
<section class="top-bar-section">
<ul class="left">
<li class="divider"></li>
<li class="has-dropdown"><a href="#"><span th:text="#{menu.administration}"></span></a>
<ul class="dropdown">
<li class="has-dropdown"><a href="#"><span th:text="#{menu.administration.material}"></span></a>
<ul class="dropdown">
<li><a href="#"><span th:text="#{menu.administration.ontology}"></span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</nav>
<div>
<div class="large-12 columns">
<h2 th:text="#{material.search.title}"></h2>
</div>
</div>
<script th:href="@{/js/vendor/jquery.js}"></script>
<script th:href="@{/js/foundation.min.js}"></script>
<script th:href="@{/js/foundation/foundation.topbar.js}"></script>
<script th:href="@{/js/vendor/modernizr.js}"></script>
<script>
jQuery(document).ready({
jQuery(document).foundation();
});
</script>
</body>
</html>
我确定我的资源已正确导入。
此外,我不得不使用 data-topbar="true"
,因为如果我只使用 data-topbar
,我的页面在渲染时会失败,说它期待 属性 之后的 =
名字.
我是不是做错了什么?
非常感谢大家的帮助!
你的 th:text="#{menu.administration}
不工作
结构应该是
<h1 th:text="${header.title}">title</h1>
<small th:text="${header.subtitle}">Subtitle</small>
你不能留空而期待一个值
请看教程http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html
问题出在我用来导入 JS 文件的 属性 中。
如我的代码所示,导入如下所示:
<script th:href="@{/js/foundation.min.js}"></script>
但是要导入脚本文件 href
属性 是错误的,它必须是 src
所以正确的格式是:
<script th:src="@{/js/foundation.min.js}"></script>
我知道这是一个愚蠢的错误,但我希望它能帮助其他人。
编译和生成页面时从未显示错误这一事实让我有点担心。