如果我在spring-boot项目中添加一些自定义标签,是否可以在基于百里香的文件中使用它们?例如,如果我在我的TLD文件中定义了此标记(放在目录/ src / main / resources / static中):
<tag>
<name>Input</name>
<tag-class>org.store.custom.taglib.form_control.InputTag</tag-class>
</tag>
我是否可以在我的视图中使用它:
<p th:case="'Input'"><f:Input/></p>
有人知道这是否可行?
更新
我试试,但是当我运行应用程序时,自定义标签不会被处理成相应的标签:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="/form.tld" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
<title>cadastro</title>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">cadastro</h3>
</div>
<div class="panel-body">
<f:form th:attr="action=@{/__${command.getClass().getSimpleName()}__/cadastra}">
<div th:each="item : ${command['class'].declaredFields}">
<div th:each="item2 : ${item.declaredAnnotations}">
<div th:switch="${item2.annotationType().simpleName}" th:with="index=${itemStat.index}">
<p th:case="'Checkbox'"><f:Checkbox/></p>
<p th:case="'DataList'"><f:DataList/></p>
<p th:case="'Input'"><f:Input/></p>
<p th:case="'Radiobutton'"><f:Radiobutton/></p>
<p th:case="'Select'"><f:Select/></p>
<p th:case="'Textarea'"><f:Textarea/></p>
</div>
</div>
</div>
</f:form>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
没有。 Thymeleaf的基本原则是不应存在外来标签。 (只有标准的HTML)。所有动态内容都通过自定义属性添加。
答案 1 :(得分:0)
您可以使用这种方式
<input th:attr="your string message ='\'' + #{yourObject.meesage}" + '\''"/>
更多示例:https://attacomsian.com/blog/thymeleaf-custom-html-attributes