thymeleaf 相关问题

Thymeleaf是一个XML / XHTML / HTML5模板引擎(可扩展到其他格式),可以在Web和非Web环境中工作。它更适合在Web应用程序的视图层提供XHTML / HTML5,它甚至可以在脱机环境中处理任何XML文件。它提供了一个可选模块,用于与Spring MVC集成,因此您可以在使用此技术的应用程序中将其用作JSP的完全替代,即使使用HTML5也是如此。

无法通过 thymeleaf 和 spring boot 访问视图中的模型属性

我很难使用 thymeleaf 访问视图中的模型属性值。 每个项目的员工 我很难使用 thymeleaf 访问视图中的模型属性值。 <h4>Employees per Project</h4> <table class="table table-bordered table-striped"> <thead class="thead-dark"> <tr> <th> FirstName<span></span></th> <th> LastName</th> <th>Projects Count</th> </tr> </thead> <tbody> <tr th:each=" EmpPrjCnt : ${employeeProjectCount} "> <td th:text="${EmpPrjCnt.fName}"></td> <td th:text="${EmpPrjCnt.lname}"></td> <td th:text="${EmpPrjCnt.Pc}"></td> </tr> </tbody> </table> </div> 控制器代码:List<projectEmployee> employeeProjectCount= empRep.employeeProjects(); //.employeeProjects(); System.out.println("FROM Home Controller :::::::::: "+employeeProjectCount); System.out.println("FROM Home Controller :::::::::: "+employeeProjectCount.get(1).getfName()); System.out.println("FROM Home Controller :::::::::: "+employeeProjectCount.get(1).getlName()); System.out.println("FROM Home Controller :::::::::: "+employeeProjectCount.get(1).getPc()); model.addAttribute("employeeProjectCount", employeeProjectCount); 我可以通过但不能在视图中访问控制器中的所有属性。让我知道我哪里出错了。错误:There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/main/Home.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/main/Home.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1414) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1158) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1097) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:973) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:895) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:705) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:880) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "EmpPrjCnt.fName" (template: "main/Home" - line 70, col 12) at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393) at org.attoparser.MarkupParser.parse(MarkupParser.java:257) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230) ... 48 more Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "EmpPrjCnt.fName" (template: "main/Home" - line 70, col 12) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:292) at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:66) at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement(ProcessorTemplateHandler.java:1314) at org.thymeleaf.engine.OpenElementTag.beHandled(OpenElementTag.java:205) at org.thymeleaf.engine.Model.process(Model.java:282) at org.thymeleaf.engine.Model.process(Model.java:290) at org.thymeleaf.engine.IteratedGatheringModelProcessable.processIterationModel(IteratedGatheringModelProcessable.java:368) at org.thymeleaf.engine.IteratedGatheringModelProcessable.process(IteratedGatheringModelProcessable.java:222) at org.thymeleaf.engine.ProcessorTemplateHandler.handleCloseElement(ProcessorTemplateHandler.java:1640) at org.thymeleaf.engine.TemplateHandlerAdapterMarkupHandler.handleCloseElementEnd(TemplateHandlerAdapterMarkupHandler.java:388) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler$InlineMarkupAdapterPreProcessorHandler.handleCloseElementEnd(InlinedOutputExpressionMarkupHandler.java:322) at org.thymeleaf.standard.inline.OutputExpressionInlinePreProcessorHandler.handleCloseElementEnd(OutputExpressionInlinePreProcessorHandler.java:220) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler.handleCloseElementEnd(InlinedOutputExpressionMarkupHandler.java:164) at org.attoparser.HtmlElement.handleCloseElementEnd(HtmlElement.java:169) at org.attoparser.HtmlMarkupHandler.handleCloseElementEnd(HtmlMarkupHandler.java:412) at org.attoparser.MarkupEventProcessorHandler.handleCloseElementEnd(MarkupEventProcessorHandler.java:473) at org.attoparser.ParsingElementMarkupUtil.parseCloseElement(ParsingElementMarkupUtil.java:201) at org.attoparser.MarkupParser.parseBuffer(MarkupParser.java:725) at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:301) ... 50 more Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1021E: A problem occurred whilst attempting to access the property 'fName': 'Accessing member 'fName' is forbidden for type 'class jdk.proxy5.$Proxy124' in Thymeleaf expressions. Blocked classes are: [com.sun.*, jakarta.*, java.*, javax.*, jdk.*, org.ietf.jgss.*, org.omg.*, org.w3c.dom.*, org.xml.sax.*, sun.*]. Allowed classes are: [java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Enum, java.lang.Float, java.lang.Integer, java.lang.Iterable, java.lang.Long, java.lang.Math, java.lang.Number, java.lang.Short, java.lang.String, java.math.BigDecimal, java.math.BigInteger, java.math.RoundingMode, java.time.*, java.util.ArrayList, java.util.Calendar, java.util.Calendar, java.util.Collection, java.util.Date, java.util.Enumeration, java.util.HashMap, java.util.HashSet, java.util.Iterator, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.List, java.util.Locale, java.util.Map, java.util.Map$Entry, java.util.Optional, java.util.Properties, java.util.Set, java.util.stream.Stream].' at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:209) at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:104) at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue(PropertyOrFieldReference.java:405) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:92) at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:112) at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:338) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:265) ... 75 more Caused by: org.springframework.expression.EvaluationException: Accessing member 'fName' is forbidden for type 'class jdk.proxy5.$Proxy124' in Thymeleaf expressions. Blocked classes are: [com.sun.*, jakarta.*, java.*, javax.*, jdk.*, org.ietf.jgss.*, org.omg.*, org.w3c.dom.*, org.xml.sax.*, sun.*]. Allowed classes are: [java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Enum, java.lang.Float, java.lang.Integer, java.lang.Iterable, java.lang.Long, java.lang.Math, java.lang.Number, java.lang.Short, java.lang.String, java.math.BigDecimal, java.math.BigInteger, java.math.RoundingMode, java.time.*, java.util.ArrayList, java.util.Calendar, java.util.Calendar, java.util.Collection, java.util.Date, java.util.Enumeration, java.util.HashMap, java.util.HashSet, java.util.Iterator, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.List, java.util.Locale, java.util.Map, java.util.Map$Entry, java.util.Optional, java.util.Properties, java.util.Set, java.util.stream.Stream]. at org.thymeleaf.spring6.expression.ThymeleafEvaluationContext$ThymeleafEvaluationContextACLPropertyAccessor.canRead(ThymeleafEvaluationContext.java:237) at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:198) ... 81 more 确保您在模板中使用的模型属性名称“employeeProjectCount”与您在控制器中将属性添加到模型时使用的名称匹配。 你可以使用这个代码 <div class="container"> <h4>Employees per Project</h4> <table class="table table-bordered table-striped"> <thead class="thead-dark"> <tr> <th>FirstName</th> <th>LastName</th> <th>Projects Count</th> </tr> </thead> <tbody> <tr th:each="EmpPrjCnt : ${employeeProjectCount}"> <td th:text="${EmpPrjCnt.fName}"></td> <td th:text="${EmpPrjCnt.lname}"></td> <td th:text="${EmpPrjCnt.Pc}"></td> </tr> </tbody> </table> </div> 在您的控制器代码中,您使用属性名称 employeeProjectCount 将 employeeProjectCount 列表添加到模型: model.addAttribute("employeeProjectCount", employeeProjectCount); 但是,在您的 Thymeleaf 模板中,您将此属性称为 EmpPrjCnt. 要解决此问题,您需要在两个地方使用相同的属性名称。更改模板中的 th:each 循环以使用您在 addAttribute 方法中使用的相同属性名称: <tr th:each="employeeProjectCount : ${employeeProjectCount}"> <td th:text="${employeeProjectCount.fName}"></td> <td th:text="${employeeProjectCount.lname}"></td> <td th:text="${employeeProjectCount.Pc}"></td> </tr> 这应该允许您访问 projectEmployee 列表中每个 employeeProjectCount 对象的属性,并将它们显示在您的表中。

回答 2 投票 0

Spring Boot Thymeleaf 片段重定向问题

我正在开发一个执行发送电子邮件和获取验证的 Spring Boot Web 应用程序。我在我的应用程序中使用 Thymeleaf 片段。有两个名为 Main control 的控制器...

回答 0 投票 0

How to pass a value from an DTO to another DTO in html template using thymeleaf

我是新手,我正在尝试用 java、spring、thymeleaf 等构建个人项目。我有一个页面,人们可以在其中购买产品。我正在从数据库传递一个 DTO 对象来显示数据 ...

回答 0 投票 0

(SPRING) 从 postgresql 数据库获取用户信息并在 thymeleaf html 中打印

我目前正在使用 SPRING,我想从数据库(我正在使用 postgresql)打印出用户的详细信息到 HTML 页面(基于 thymeleaf 的模板),有什么方法可以从我的控制器中做到这一点.. .

回答 1 投票 0

如何在 JavaScript jQuery 中通过 ThymeLeaf 动态 Id 获取元素?

我在我的 html 中使用了 pre 标签,如下所示。但我使用 thymeleaf 设置它的 id(不确定它是否是正确的方法) [[${obj.payload}]]...

回答 0 投票 0

为什么 Thymeleaf(有时?)为非布尔字段调用 isX() 方法?

我认为有这段代码 我有这个代码 <form th:action="@{/save-user}" th:object="${user}" method="post"> <!-- some other forms --> <input type="hidden" th:field="*{enabled}" /> enabled 是 byte 类型的字段,它存储零或一(对于 Spring Security 目的是必要的) @Entity @Table(name = "users") public class User implements UserDetails { // ... @Column private byte enabled; // ... public byte getEnabled() { return enabled; } // I have a getter for the field User类也有这个方法 @Override public boolean isEnabled() { return enabled == 1; } 如你所见,它返回一个boolean 我注意到当我使用这个表达式 th:field="*{enabled}" 时,Thymeleaf 出于某种原因调用了该 boolean 方法而不是为 enabled 字段调用 getter 导致错误 ERROR 5880 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.spring5.processor.SpringInputGeneralFieldTagProcessor' (template: "user-update-info" - line 53, col 34)] with root cause java.lang.IllegalArgumentException: Source to convert from must be an instance of [@javax.persistence.Column byte]; instead it was a [java.lang.Boolean] 我知道我可以显式地调用 getter(在我看来,这让代码有点难看) 但为什么 Thymeleaf 会这样?

回答 0 投票 0

如何将 Thymeleaf 输入值作为请求参数发送到 Java Spring 中的控制器?

我正在使用 Thymeleaf 表单和传统的 Spring rest 控制器向外部平台发出 API 请求。 Thymeleaf 表单是一个简单的登录表单,有 2 个字段和一个提交按钮。

回答 2 投票 0

Spring Boot:使用 Thymeleaf 从会话中删除属性

在我的代码中的某个地方,我在会话中添加了一个属性。 session.setAttribute("消息", 消息); 在我的 HTML 文件中,我想在使用后立即将其删除。 在我的代码中的某个地方,我在会话中添加了一个属性。 session.setAttribute("message", message); 在我的 HTML 文件中,我想在使用后立即删除它。 <div th:if="${session.message != null}"> // consume message // remove message from session. </div> 我该怎么做? 我解决了我的问题。使用此方法创建了一个组件。 public void removeVerificationMessageFromSession() { try { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpSession session = request.getSession(); session.removeAttribute("verificationMessage"); } catch (RuntimeException ex) { log.error("No Request: ", ex); } } 然后我在消费消息后立即在我的代码中调用了这个方法。 <div th:if="${session.message != null}"> // I consumed the message <div th:text="${@sessionUtilityBean.removeVerificationMessageFromSession()}"></div> </div> 我成功使用了 <th:block th:inline="text"> [[${#session.removeAttribute('variableName')}]]</th:block>

回答 2 投票 0

如何从 thymeleaf 中的表或有序列表中选择一个项目并将列表中的值分配给用户?

我将时间显示到 thymeleaf 中的表中,该表具有长 ID、SQL 日期时间和长用户,后者保存选择时间的用户的 ID。 ... 我在 thymeleaf 中的一个表中显示时间,该表具有长 ID、SQL 日期时间和长用户,该用户保存选择时间的用户的 ID。 <table> <thead> <tr> <th> ID </th> <th> Date </th> <th> User </th> </tr> </thead> <tbody> <tr th:if="${times.empty}"> <td colspan="2"> No Times Available </td> </tr> <tr th:each="time : ${times}"> <form action="#" th:action="@{/add_time_user}" th:object="${time}" method="post"> <td><h4 th:text="${time.id}"></h4></td> <td><h4 th:text="${time.time}"></h4></td> <td><input type="submit" value="Select" /></td> </form> </tr> </tbody> </table> 我遇到的问题是为选择它的用户增加时间。我正在使用此 PostMapping 尝试通过用户名从数据库中获取他们的身份,然后将时间添加到用户并保存,从而为用户添加时间。 @PostMapping("/add_time_user") public String addTime(Authentication authentication, Time time) { if (authentication != null) { User user = userService.getUser(authentication.getName()); user.setTime(time.getTime()); } System.out.println(time.getId()); System.out.println(authentication.getName()); return "redirect:/times"; } 当我尝试这样做时,时间总是空的,但我能够检索到用户。我不知道我是否以正确的方式发送数据,但用户注册会将用户数据发送到不同的 url,然后对其进行处理,所以我想我会尝试这样做。 我还查看了另一个选择选项,但它是一个下拉菜单,我正在寻找使用列表中项目旁边的按钮。

回答 0 投票 0

JavaScript和Spring点击数据打开或关闭时如何获取数据

这是我的 Thymleaf 数据库中的每个数据 这是我的 Thymleaf 数据库中的每个数据 <div class="column val" th:each="nameApp,iStat:${listAppName}" id="valCheck"> <div class="Checkbox"> <input type="text" th:value="${nameAppID.auto_detail_id}" hidden> <input type="text" th:value="${nameApp.application_id}" id="appID"> <input type="checkbox" data-toggle="toggle" data-size="small"> <label><spanth:text="${nameApp.application_name}"></span></label> </div> </div> 这是我的 JavaScript $(".val").click(function(){ let appID= document.getElementById("appID").value; var checkedValue = $(this).find(':checkbox').is(":checked")? 'On' : 'Off'; console.log(appID); }); 如果获取数据 appID 和 auto_detail_id,当我单击“关闭”或“打开”时我需要它 您可以选择点击里面的文字输入<div>. let appID = $('input[type=text]', this).val(); 请注意,文档中不应有重复的 ID。改用类来对相似元素进行分组。

回答 1 投票 0

如何使用 Thymeleaf 在 Javascript 中访问具有一组另一个对象的 Spring Boot POJO

我有一个对象学校和另一个对象学生。 Schools 与 Students 之间存在一对多关系,因此 Schools 可以拥有一组许多 Students。我正在尝试访问学校列表

回答 1 投票 0

Spring MVC Thymeleaf 绝对视图 ID `/view` 行为不一致

我有一个带有 Thymeleaf 的简单 Spring MVC 应用程序。我有一个映射到 /foo/ 的控制器,它将使用重定向委托给视图 /bar/view,因此它的 POST 方法将返回 redirect:/bar/view...

回答 0 投票 0

如何将列表中的字段绑定到 Thymeleaf 表单? [Bean 属性不可读]

我有一个对象可以有两个或三个重复的字段集。看起来最简单的处理方法是使用一个列表和一个会随着...的大小扩展或收缩的表单

回答 0 投票 0

如何将 Spring Boot Thymeleaf 与 Vue.js 一起运行?

我正在做一个已经使用 Thymeleaf 渲染视图的小项目。但是现在我想要一部分页面集成Vue.js。 我可以在不同的端口上打开 2 个应用程序,例如8080 和

回答 1 投票 0

Spring Boot 验证在 Map 中不起作用<value> - 如何验证字段?

我需要验证“描述”(在地图中)和“作者”字段。 但是没有办法做到这一点。你能告诉我如何实施吗? 这是我的代码 //模型 @实体 普...

回答 0 投票 0

如何在 thymleaf 中添加额外的 css 和 js 文件

我为我的页面使用布局,布局包括包含可重用代码的片段。但这里有一个问题,我的类别 html 需要一个特定的 css 和 js 文件。我尝试添加标头标签但没有添加

回答 0 投票 0

如何在不使用布局方言的情况下将任何 html 内容传递给 thymeleaf 片段?

我想知道您是否可以离开布局方言并开箱即用 thymeleaf。 目前您可以定义一个片段,例如如下所示: 我想知道你是否可以离开布局方言并使用开箱即用的 thymeleaf。 目前你可以定义一个片段,例如如下: <div th:fragment="my-custom-accordeon"> <th:block th:insert="~{::h1}></th:block> <th:block th:insert="~{::section}></th:block> </div> 使用这个片段,你可以简单地在使用上面片段的 html 片段中添加一个 h1 标签和一个 section 标签。这两个标签都将作为内容插入此片段。 我不确定你是否可以对任何内容做同样的事情,而不需要定义标签,这些标签将作为内容传递给片段。我想添加任何 html 内容。 目前我正在为此目的使用布局方言,但如果不需要的话我会很高兴。 我的带有布局方言的自定义手风琴,它接受任何内容,如下所示 <div layout:fragment="accordion(heading)"> <h2>[[${heading}]]</h2> <div class="body"> <th:block layout:fragment="accordion-content"></th:block> </div> </div> 在我引用的 html 文件中,我正在使用它,例如: <div layout:replace="~{/path/to/template.html :: accordion(heading='Example Heading')}"> <th:block layout:fragment="accordion-content"> <p>Maybe some p tag</p> <!-- maybe some table maybe some nested accordion whatever i like --> </th:block> </div> 你能用没有布局或任何其他方言的普通百里香叶实现同样的效果吗?

回答 0 投票 0

尝试创建一个带有多选复选框选项的选择下拉菜单 - thymeleaf

我正在尝试制作一个使用 thymeleaf 中的复选框选项的下拉菜单,以便用户可以选择多个选项,但是我遇到了麻烦,我将如何使用 thymeleaf/html 执行此操作?我不是

回答 1 投票 0

Thymeleaf th:textarea 中的字段不起作用

我有多种语言的描述,使用 thymeleaf 我发现 th:textarea 中的字段不起作用! 同时,输入中的 th:text 或 th:value 起作用并更新 ...

回答 2 投票 0

How to display email address in Thymeleaf by using <th:utext>?

我必须在 thymeleaf 中显示下面的文本,但它无法显示并且不确定原因和解决方案。 下面是我的文字。 输入的评论:一个两个我的

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.