我正在迁移一些JSP文件到Thymeleaf,我发现了以下问题。在原始的JSP代码中,有一个包含在许多其他JSP文件中的文件,其行如下:
<c:set var="myVar" value="data-x=50 data-y=37" />
在包含此变量的文件中,变量myVar
的使用方式如下:
<div class="myClass" ${myVar}>
设置同时在所有位置使用的多个属性。这里的要点是,您在一个文件中设置了myVar
,其值在所有其他文件中使用。如果需要更改属性的值,则只需更改一个文件。
为了在Thymeleaf中复制这一点,我尝试以下列方式使用th: attr
属性。首先,我在模型中设置了一个这样的变量:
model.addAttribute("myVar", "data-x=50, data-y=37");
然后在百里香,我会:
<div class="myClass" th:attr="${myVar}" >
但它不起作用,它抛出
TemplateProcessingException: Could not parse as assignation sequence: "${myVar}"
我也想过使用Javascript使用JQuery动态添加属性,但是我更喜欢用其他方式,因为我没有构建应用程序,它有很多脚本,我担心通过Javascript添加属性会有副作用。
是否有任何html" target="_blank">方法可以直接使用Thymeleaf在HTML输出中编写?
一种方法可以通过预处理来实现这一点。这样的东西将与您的示例一起工作:
<div class="myClass" th:attr="__${myVar}__" />
(这确实依赖于${myVar}
是th:attr属性的有效字符串,因此您必须小心使用它。)
问题内容: 我正在使用Selenium,想知道是否可以一次使用多个TABS?我不想使用多个浏览器实例(即IE Pun的2个副本)。如果不可能,如何在顺序运行的各个选项卡之间切换? 谢谢! 问题答案: 如果有一个链接打开一个新的窗口/选项卡,则可以使用 但是,如果要在多个窗口上运行某些程序,则建议使用多个webdriver实例。它易于管理,并且受支持(打开新标签页/窗口时有一些变通办法,例如按可打开
问题内容: 我不熟悉Thymeleaf,并将Web页面从JSP转换为Thymeleaf。我有一个像这样的strut标签: 该变量可以在JSP中的任何地方使用。Thymeleaf中是否有其他替代方法? 问题答案: 你可以使用局部变量。 声明带有属性的HTML元素。例如 文档说明 当被处理时,该变量被创建为一个局部变量,并添加到变量地图从上下文来,所以它是可用于评估任何其他变量从一开始就在上下文中声明
我正在使用Thymeleaf作为模板引擎。我如何将一个变量从Spring模型传递到JavaScript变量? Spring侧:
我知道我可以在每个网页的开头使用ASP/PHP语句,但这似乎使用了太多的资源;每个用户都将在每个页面上执行SET语句... 是否有一种方法可以在每个会话中设置变量或执行其他SQL语句,就像ASP中的onstart事件一样?或者,如果不对每个页面上的每个用户执行查询,如何实现我的目标?
问题内容: 我正在使用Thymeleaf作为模板引擎。如何将变量从Spring模型传递给JavaScript变量? Spring-side: Client-side: 问题答案: 根据官方文件:
在邮件中,我想显示一个java变量: 在邮件模板中,我执行以下操作: 在邮件中,它转换为: 如何使变量得到很好的解释。 非常感谢。