thymeleaf 相关问题

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

thymeleaf 多字符串替换

我想对多个关键字进行字符串替换:

回答 2 投票 0

Spring + Thymeleaf - 如何实现列表分页

我正在使用 Spring + Thymeleaf 开发一个简单的应用程序。在其中一个页面上,我有一个需要分页的项目列表。 理想情况下,我只想发送 currPageNo (数字...

回答 7 投票 0

如何让上传的图像在 Spring Boot 应用程序中上传后立即显示?

我已经浏览了有关堆栈溢出的各种问题,但没有找到任何决定性的解决方案。所以基本上在我目前的项目中,我拥有它以便用户可以上传 ima...

回答 1 投票 0

Thymeleaf:HTML id 中的文字和变量

我在 Thymeleaf 中有这段代码: 我也尝试过 我在 Thymeleaf 中有这段代码: <tr th:each="image: ${images}" > <img id="|'idAwesomeIcon${image.id}'|" .. /> </tr> 我也尝试过 <tr th:each="image: ${images}" > <img id=“idAwesomeIcon|${image.id}|" .. /> </tr> 我也尝试过 <tr th:each="image: ${images}" > <img id="\'idAwesomeIcon' + ${image.id} +'\'" .. /> </tr> 期望 id 被替换为类似 idAwesomeIcon666 的内容,但是当我看到 HTML 页面的源代码时,没有这样的替换,我仍然可以看到 ${image.id} 如果要动态填充值,则必须使用 th:id 属性 <img th:id="'idAwesomeIcon'+${image.id}" .. />

回答 1 投票 0

如何编辑 Thymeleaf 表中列表中的数据

我将列表传递给模型。使用 th:each="userDTO : ${usersDTO}" 然后 我将列表传递给模型。使用 th:each="userDTO : ${usersDTO}" 然后 在 Thymeleaf 中,th:field 用于将数据与模型对象字段绑定。确保对象字段正确,如以下百里香符号所示。 <form th:action="@{/submit}" th:object="${user}" method="post"> label for="name">Name:</label> <input type="text" th:field="*{name}" id="name" /> <label for="email">Email:</label> <input type="email" th:field="*{email}" id="email" /> <button type="submit">Submit</button> </form>

回答 0 投票 0

如何使用 Mono 对象创建 Thymeleaf 转换器

我需要创建从字符串到对象的转换器。 @成分 公共类 PropertyConverter 实现 Converter { @Autowired PropertyShopService propertyShopSe...

回答 2 投票 0

Spring Boot-Thymeleaf 重定向问题(做 post 请求时)[已关闭]

当我向“login-admin”端点执行 POST 请求时,我希望它重定向到“admin-dashboard”端点。但是,我遇到了一个问题,它无法重新定向...

回答 1 投票 0

Spring Boot-Thymeleaf 重定向问题(当我发布请求时)[关闭]

当我向“login-admin”端点执行 POST 请求时,我希望它重定向到“admin-dashboard”端点。但是,我遇到了一个问题,它无法重新定向...

回答 1 投票 0

有人可以帮助我吗?我有 Spring Boot-thymeleaf 问题

我想从“登录管理”重定向到“管理仪表板”。但我无法重定向管理仪表板。我检查了所有数据库、配置 mvc 等,但我还没有找到...

回答 1 投票 0

使用thymeleaf +spring创建自定义标签(就像JSP)

我正在尝试使用 Thymeleaf 创建自定义标签,就像在 JSP 中一样。 我现在拥有的标签是: 我正在尝试使用 Thymeleaf 创建自定义标签,就像在 JSP 中一样。 我现在的标签是: <select th:include="fragments/combobox :: combobox_beans (beans=${@accountService.getAccounts()}, innerHTML='id,description,currency', separator=' - ', dumbHtmlName='List of accounts', name='sender' )" th:remove="tag"></select> 目的只是定义 beans 列表、要在屏幕上显示的 bean 属性、它们之间的分隔符、显示为本机模板时的默认值以及我们正在此处处理的原始 bean 的属性名称。 combobox.html: <div th:fragment="combobox_beans (beans, innerHTML, separator, dumbHtmlName, name)"> <select th:field="*{__${name}__}" class="combobox form-control" required="required"> <option th:each="obj : ${beans}" th:with="valueAsString=${#strings.replace( 'obj.' + innerHTML, ',', '+'' __${separator}__ ''+ obj.')}" th:value="${obj}" th:text="${valueAsString}" > <p th:text="${dumbHtmlName}" th:remove="tag"></p> </option> </select> 我需要选项标签的文本基于片段的innerHTML 属性(innerHTML='id,description,devise')中设置的属性。 我最终对这段文字有一个选择: <option value="...">obj.id+' - '+ obj.description+' - '+ obj.currency</option> 而不是想要的结果 <option value="...">2 - primary - USD</option> 我知道这是由于使用了 Strings 库导致了一个字符串。 有没有办法 Thymeleaf 可以重新评估这个字符串,使其再次被理解为一个对象? 也许在这种情况下使用字符串库是错误的...也许我需要使用 th:each 将每个 bean 作为对象处理并读取其属性,但同样,如何仅获取指定的属性在innerHtml 中? 有人对此有解决方案或解决方法吗? 谢谢。 如果有一种方法可以单独在 Thymeleaf/Spring 表达式中完成你想要的事情,那么它肯定非常复杂且冗长,而且读起来可能会很痛苦。 更简单的方法是将自定义实用程序对象添加到表达式上下文中。需要很少的代码。 这个答案表明了这一点。 然后您需要将新方言作为附加方言添加到 Spring xml 配置中的模板引擎中。假设你有一个相当标准的 Spring 配置,它应该与此类似。 <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine"> <property name="templateResolver" ref="templateResolver" /> <property name="additionalDialects"> <set> <bean class="mypackage.MyUtilityDialect" /> </set> </property> </bean> 现在介绍实用程序对象 您想要的是按名称从对象中获取属性,并将它们的值与分隔符组合起来。属性名称列表似乎可以是任意大小。要按名称访问属性,最方便的方法是使用像 Apache beanutils 这样的库。 使用 Java 8 流库、lambda 和 Beanutils,您的自定义实用程序对象可能看起来像这样: public class MyUtil { public String joinProperties(Object obj, List<String> props, String separator){ return props.stream() .map(p -> PropertyUtils.getProperty(obj,p).toString()) .collect(Collectors.joining(separator)) } } 然后,当您将方言添加到 SpringTemplateEngine 时,您可以调用您的实用程序: th:with="valueAsString=${#myutils.joinProperties(obj,properties,separator)}" 我已将 innerHTML 参数替换为 properties,这是一个 List<String>,因为它更有意义。它本质上是一个属性名称列表,Spring EL 支持内联列表。 您的调用标签应如下所示。 <select th:include="fragments/combobox :: combobox_beans (beans=${@accountService.getAccounts()}, properties=${ {'id','description','currency'} }, separator=' - ', dumbHtmlName='List of accounts', name='sender' )" th:remove="tag"></select> 解决了! 创建自定义方言: 公共类 CnmCustomDialect 扩展 AbstractProcessorDialect { public CnmCustomDialect() { super("CNM Tags", "cnmtags", StandardDialect.PROCESSOR_PRECEDENCE); } @Override public Set<IProcessor> getProcessors(String dialectPrefix) { Set<IProcessor> processors = new HashSet<>(); processors.add(new TableBuilderElementTagProcessor(getPrefix())); return processors; } } 将方言注册到WebMvcConfigurer @Bean 公共 SpringTemplateEngine templateEngine(ITemplateResolver templateResolver, SpringSecurityDialect sec) { final SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.addDialect(new CnmCustomDialect()); return templateEngine; } 3.实现自定义AbstractElementTagProcessor -使用 doProcess() 方法通过此标记变量从 HTML 获取输入并绑定到处理程序变量 -String modelType = tag.getAttributeValue("tt"); -Content=”根据需要添加 html 您的内容” -structHandler.replaceWith(content, false); 公共类 TableBuilderElementTagProcessor 扩展 AbstractElementTagProcessor { private ApplicationContext applicationContext; public TableBuilderElementTagProcessor(String dialectPrefix) { super(TemplateMode.HTML, dialectPrefix, "table", true, null, false, StandardDialect.PROCESSOR_PRECEDENCE); } @Override protected void doProcess(ITemplateContext context, IProcessableElementTag tag,IElementTagStructureHandler structureHandler) { applicationContext = SpringContextUtils.getApplicationContext(context); 字符串内容=“”; StructureHandler.replaceWith(content, false);}} 谢谢

回答 0 投票 0

如何将自定义标签库与 Thymeleaf 和 Spring Boot 一起使用?

我使用 Spring MVC、JSP 和 Tyles 创建了一个自定义标签库,因此我有几个 .tagx 文件。 在新项目中,我决定尝试 Spring Boot 和 Thymelaf,但我想保留我的自定义库...

回答 2 投票 0

thymeleaf-extras-springsecurity6 不工作

为什么我的 thymeleaf-extras-springsecurity6 不工作?我已将 thymeleaf-extras-springsecurity6 添加到 pom 文件中?我正在使用 Spring Security 版本 6.2.2 和 Thymeleaf 版本 3.1.2。 遵循

回答 1 投票 0

未声明的变量将如何呈现?

我正在尝试一些 Spring MVC 的东西,模板引擎是 Thymeleaf。 在我看来,有 但是,当第一次访问此视图时,会出现消息

回答 1 投票 0

如果日期可以为空,如何格式化日期 spring

我在 thymeleaf 上有一个表单,其中包含许多 type=date 输入。我需要在 PostMapping 上获取这些日期。有时它带有空值,编译器会给出错误 “必填请求参数‘

回答 1 投票 0

如何在 html 中使用 Thymeleaf 并在 h1 标签内包含变量?

所以我刚刚开始使用 Thymeleaf,但我不确定如何将其与 html 标签一起使用。我搜索了文档,但找不到有关此特定问题的任何内容。好像是这样

回答 2 投票 0

如何从 Servlet Filter 渲染 Thymeleaf 模板?

我知道,在JSP中,它只是 request.getRequestDispatcher("path..").forward(request, response); 然而: 如果我只提供 root / 路径,它会寻址映射到 / 的 servlet。所以,没有模板

回答 1 投票 0

th:replace 与 Thymeleaf 中的 th:with 配合不佳

根据 Thymeleaf 文档 片段可以包含任何 th:* 属性。一旦片段包含到目标模板中(带有 th:insert/th:re... 的模板),就会评估这些属性。

回答 2 投票 0

Thymeleaf extras 检测到 spring 版本不兼容

我尝试构建我的 Spring Boot Web 应用程序并创建 jar 文件以将其部署在专用服务器上。当我使用 IDE(在我的例子中为 Intellij Idea)构建它时,一切正常。但是当我尝试执行时...

回答 1 投票 0

FontAwesome 未在 Thymeleaf 中显示?

以下示例仅显示了一些类似十六进制的占位符,而不是正确的图标。与 spring-boot 和 thymeleaf 一起使用可能会出现什么问题? 以下示例仅显示了一些类似十六进制的占位符,而不是正确的图标。与 spring-boot 和 thymeleaf 一起使用可能有什么问题? <html> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/fontawesome.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/regular.min.css" rel="stylesheet" type="text/css" /> </head> <body> <i class="fa fa-car"></i> <i class="fa fa-car" style="font-size:48px;"></i> <i class="fa fa-car" style="font-size:60px;color:red;"></i> </body> </html> 包含样式表 all.css <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css" rel="stylesheet" type="text/css" /> 使用此 URL 对我有用:“*https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css*” 只需将其添加到您的index.css 中即可: @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css'); 或 到您的index.html(内部标签): <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

回答 2 投票 0

如何获取 API 并将其显示在自定义错误 404 页面上?

我正在尝试构建一个自定义错误 404 页面,在其上显示随机的 Chuck Norris 笑话,但即使输入错误的 URL 会显示错误页面,Thymeleaf 也不会呈现 Chuck ...

回答 1 投票 0

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