intellij thymeleaf命名空间th不受约束

时间:2015-09-03 19:41:51

标签: intellij-idea thymeleaf

我正在使用IntelliJ IDEA,而且我使用的是thymeleaf命名空间。我创建了员工表单,我将其包含在其他模板中,因此我没有指定名称空间,但在运行我的应用程序时它的工作正常。有没有办法改变这种行为。我喜欢自动完成功能: - )

命名空间''没有约束的例子:

Namespace 'th' is not bound

4 个答案:

答案 0 :(得分:12)

此外,如果您使用Spring,则应使用以下内容:

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
  <head>
     <title>Hello</title>
  </head>
  <body>
  </body>
</html>

区别在于DOCTYPE。 见Intellij Idea: Thymeleaf namespace unkown

答案 1 :(得分:8)

要为Thymeleaf启用自动完成和IDE支持,请确保已启用Thymeleaf插件。

File - &gt; Other Settings - &gt; Config Plugins - &gt;勾选Thymeleaf

screenshot of plugin window

还在根标记

中添加名称空间

<html .... xmlns:th="http://www.thymeleaf.org">

答案 2 :(得分:6)

在格式良好的文档中定义您的片段(包括htmlheadbody等)并没有什么坏处。事实上,http://www.telerik.com/ios-ui/dataform就是这样做的。

通过这种方式,您可以指定百万美元命名空间,以便获得自动完成功能,还可以在浏览器中自行查看您的片段,这对原型设计非常有用。

答案 3 :(得分:0)

如果您使用的是 Intellij IDEA,您还可以使用 JBLHtmlToThymeleaf 插件。使用此插件,您只需右键单击您的 HTML 文件并添加所需的命名空间。

此操作步骤:(在IDE上)

File->Settings->Plugins->Marketplace 并搜索JBLHtmlToThymeleaf

Install JBLHtmlToThymeleaf

安装完成后,右键单击所需的 html 文件并选择 JBLHtmlToThymeleaf。

Right click the HTML file

该过程完成后,您会看到命名空间 xmlns: th = "http://www.thymeleaf.org" 已自动添加。

奖励:另外,如果您想在 HTML 文件中使用 Spring Security,请不要忘记添加 xmlns: sec = "http://www.thymeleaf.org/extras/spring-security"