- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在我的 Java 网络应用程序中使用 Thymeleaf 作为模板引擎。我还想使用 Bootstrap 4 构建前端。我使用的是 Intellij IDEA 2017.2.5 Ultimate、Spring Boot 1.5.7、Tomcat 8.5.13、Java 8、Thymeleaf 3.0.7 和 Gradle。我创建了一个简单的 Controller :
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/")
public String homeScreen()
{
return "index";
}
}
和两个 HTML 文件:base
和 index
分别是:
<!DOCTYPE html>
<html lang="pl_PL" xmlns:th="http://www.thymeleaf.org">
<head th:fragment="head">
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Title</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css"
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"/>
</head>
<body>
<header th:fragment="header">
<div class="btn-group btn-group-lg" role="group">
<button type="button" class="btn btn-secondary">Home</button>
<button type="button" class="btn btn-secondary">Invoices</button>
<button type="button" class="btn btn-secondary">Customers</button>
<button type="button" class="btn btn-secondary">Products</button>
<button type="button" class="btn btn-secondary">Warehouse</button>
</div>
</header>
<div th:fragment="bootstrap-js-jquery-links">
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:insert="base :: head"></head>
<body>
<header th:insert="base :: header"></header>
<div th:insert="base :: bootstrap-js-jquery-links"></div>
</body>
</html>
当我运行这个应用程序时,一切都正确构建和部署,但我在我的索引页面上看不到任何东西,比如 th:insert
没有工作。当我改变 return "index"
至 return "base"
在 Controller 中,这就是我得到的(以及我想用 index
作为返回字符串得到的):
根据Thymeleaf's documentation我觉得我写的东西是正确的,所以我哪里错了?我的build.gradle
:
buildscript {
ext {
springBootVersion = '1.5.7.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
group = 'com.invoices-web'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
configurations {
providedRuntime
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa'){
exclude group: 'org.hibernate', name:'hibernate-core'
}
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-web')
runtime('org.postgresql:postgresql')
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.11.Final'
compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version: '1.0.0.Final'
compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '3.0.7.RELEASE'
compile group: 'com.ibm.icu', name: 'icu4j', version: '59.1'
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.7'
compile group: 'com.google.guava', name: 'guava', version: '23.0'
}
最佳答案
你可以试试这个:
index.html :
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:replace="base :: head"></head>
<body>
<header th:replace="base :: header"></header>
<div th:replace="base :: bootstrap-js-jquery-links"></div>
</body>
</html>
关于java - Thymeleaf 的 3 片段插入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46479872/
我已将重要信息加粗以使其更易于阅读。 我昨天刚刚更新到Xcode 7.3并且一整天都在尝试解决我的问题。对于类(class),我们用 C 编程 并使用 SVN 修改我们所有的文件以创建我们的项目。我使
在互联网上进行了一些挖掘之后,我无法找到一个很好的答案来说明我可以将哪些字符用于 URL 片段。我正在编写一个 javascript 脚本,它将利用 URL 片段。 我想让 URL 看起来不那么复杂,
我正在尝试在分段文件(styp)的 mp4 容器中定位 h264 帧。对于分割,我目前使用 MP4Box dash。我使用 MP4Box 解析器,我注意到在每个关键帧(IDR)中样本的大小与原始文件中
我想要一个自定义片段动画,以便它们淡入右/淡入左,然后在短暂延迟后淡出。假定所有片段都具有类 .visible 和 .current-fragment。我以为我可以在短暂的延迟后删除类 .visibl
有没有人看到过在 C# 中自动调平图像的任何好的片段? 最佳答案 参见 http://code.google.com/p/aforge/ 关于C# Autolevel 片段?,我们在Stack O
如何检索 View 所属的 Fragment/sap.ui.core.Control? BR 克里斯 最佳答案 如果您的控件的标识符包含 View 的标识符(如果您使用的是 XML View ,则类似
我试图了解这个函数的作用。任何人都可以向我解释这一点吗? function newInstance (class) local o = {} setmetatable (o, clas
简介 根据 this documentation可以指定依赖项,包括每个包的版本,如下所示: 问题 需要应用哪个 Nuspec 片段才能安装依赖项的最新版本? 最佳答案 不幸的是,您无法
我有一个 Gatsby 项目,它对两种不同类型的内容进行了非常相似的 GraphQL 查询:常规页面和 wiki 文章。 按蛞蝓 页 export const query = graphql` q
我遇到了以下教程 JSP tricks to make templating easier?用于使用 JSP 创建页面模板(我怎么这么久都没有想到这个?!?)。但是,在进行了一些搜索之后,我似乎无法弄
我是 Django 的新手,我试图找出如何将 HTML 片段与模型相关联。 我的 HTML 片段只是一个 div。我想重用那个 div(你可以把它想象成一个缩略图) 情况是这样的:在我的主页中,我想显
我经常使用 vim,但我的工作流程通常迫使我与其他 IDE 交互,所以我不是一个像上帝一样的 vim super 用户,我也不想很快成为。 Vim 不是我的 IDE,我也不希望它是。这是一款快速轻便的
我刚刚了解到一个关于在抛出错误时执行 Javascript 的重要事实。在我开始对此下结论之前,我最好验证一下我是否正确。 给定一个包含 2 个脚本的 HTML 页面: 脚本1: doSometh
我是在Chrome片段中编写的: let myVar = someValue; 当我尝试第二次运行它时,它说该变量已被声明并在第一行引发错误。 错误是: Uncaught SyntaxError: I
我想要两个像素着色器;首先要做一件事,然后再做其他事情。这是可能的,还是我必须将所有内容打包到一个着色器中? 最佳答案 您可以这样做,例如通过从主入口点对在各种着色器对象中实现的函数进行函数调用。 m
我正在尝试检查汽车前面是否有任何障碍物。假设汽车在位置“2”。我的目标是检查位置“3”处是否有障碍物。 可能没有明确的障碍事实,这意味着在特定位置没有障碍。我检查使用是否存在有条件。但是在规则 r6
我想在文本区域内编写一个 JavaScript,而不运行 JavaScript。显示为一些可复制的文本。 我使用 jquery 同时插入文本区域和代码片段: $("#copy-snippet-cont
有人可以解释以下 htacess 行,我理解部分内容,但想要更深入的知识。作为注释,我假设它按预期工作,这目前还没有上线,我只是在阅读一些工作簿,这是打印的。 // Don't understand
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我目前正在尝试使用 Jquery 根据下拉列表的值附加音频标签 html 列表。主要问题是,当选择值更改时,empty() 和append() 方法根本不会将html 注入(inject)到播放列表d
我是一名优秀的程序员,十分优秀!