问题标签 [thymeleaf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4720 浏览

spring-webflow-2 - Thymeleaf 可以访问 Spring servletContext 吗?

我想知道是否有人可以提供帮助。我们正在将 Spring Webflow 2 应用程序从使用基于 jsp 的视图层转换为基于 Thymeleaf 的视图。

在大多数情况下,这是可以的,但现在我正在努力让 Thymeleaf 访问我们放在servletContext.

servletContext因此,我们有一个对象作为 bean的一部分放入(实现ServletContextAwareand InitializingBean

为了简单起见,假设它是一个字符串:

在我们基于 jsp 的视图中,我们可以referenceData像这样访问对象:

通过 Spring EL 的魔力,它知道它可以访问的各种范围(servletContextflowScopeflashScope),并且(我猜?)搜索每个范围,直到找到匹配的属性。结果是:

在视图中呈现。

在我们的 thymeleaf 模板中,我们正在尝试做同样的事情:

但这只是返回一个空字符串。视图呈现一个空字符串:

(但我认为 EL 实际上是作为 null 返回的)

我很确定如果该referenceData对象是一个范围的属性,例如flowScopeorflashScope这会起作用 - 但它不是,它是servletContext.

有谁知道百里香是否可以servletContext通过 EL 访问?也许我需要使用不同的语法?

干杯

弥敦道

0 投票
3 回答
7807 浏览

java - 使用 Thymeleaf 时,Spring 安全会话范围似乎为空

当使用 Spring Security 登录失败时,它会引发异常并在我的 JSP 中显示如下:

现在我正在从 JSP 更改为 Thymeleaf 并尝试做同样的事情,但是当登录失败时,sessionScope变量似乎为空。

这打印出来testing null。当我将视图解析器改回 JSP 时,它运行良好。我想我做错了什么。有什么建议么?

0 投票
2 回答
22095 浏览

java - 登录后 Spring MVC 控制器重定向到某个 URL

我有一个带有如下处理程序的 Spring MVC 控制器:

login.html 页面中的表单 POST 到 account/login(相同的 url)。我希望在身份验证之后,我将用户重定向到我的应用程序的主页,以便他www.mywebappexample.com在地址栏中看到而不是www.mywebappexample.com/account/login. 当我从登录方法返回字符串时,它会呈现正确的 html,但我没有要显示的 URL。我该如何重定向?

编辑:我必须在我的控制器返回字符串前加上redirect:. 如果您有一个子类 UrlBasedViewResolver UrlBasedViewResolver的视图解析器,则此方法有效。Thymeleaf 的视图解析器没有这样做,但它确实具有行为 -> ThymeleafViewResolver。这是我的 servlet-context.xml(我使用的是百里香):

0 投票
2 回答
3578 浏览

java - 使用 Spring MVC 控制器处理和验证 HTML 复选框

我正在使用 Spring MVC,我想要一个页面来注册我的用户。我想给他们接收电子邮件通知的选项,我有一些他们必须接受的服务条款,所以有两个复选框。我受到 HTML 复选框的限制,因为我还使用 thymeleaf 作为我的模板引擎。我想知道您将如何处理和验证复选框的值,无论它们是否被选中。当您使用复选框进行表单提交时,如果选中它们,则将值作为复选框的名称-值对传递给服务器,否则不传递任何内容。您是否有不同的处理程序方法,如下所示:

这样,如果复选框被选中,将调用第一个方法,如果没有选中,则调用第二个方法。有没有办法检查是否选中了复选框,以便我可以在单个控制器方法中完成所有这些操作?你会怎么做?

0 投票
1 回答
1766 浏览

java - Thymeleaf 呈现空白页

我使用 Thymeleaf 作为 Java webapp 的模板引擎,但在渲染模板时遇到问题。请求似乎已正确处理,但浏览器中的页面为空白。

Thymeleaf 引擎配置

小服务程序代码

模板。在尝试显示基本 HTML 模板时,Thymeleaf 功能已被注释掉。

0 投票
4 回答
70277 浏览

java - 如何使用 thymeleaf 格式化 HTML5 中的货币

我坚持在 HTML 5 中格式化货币。我有一个应用程序,我必须在其中格式化货币。我有以下代码片段

我从 DAO abc 读取货币值的位置,它应该被格式化。当前打印 $ 1200000.0 它应该打印 $ 1,200,000.0 .0

0 投票
2 回答
4067 浏览

java - Spring MVC 和 thymeleaf ModelAttribute 为 null 或未评估

我正在开发一个使用 Spring MVC 和 Thymeleaf 作为我的 ViewResolver 的 Web 应用程序。我有以下控制器处理程序方法:

我的观点包含这一行:

执行时,标签不会呈现给任何东西。这可能是由于${error}评估为空字符串,但我不明白为什么。Spring的@ModelAttribute注解不会自动将对象添加到模型图中,Thymeleaf在哪里可以找到它?

如果我有:

错误消息使视图呈现得非常好。@ModelAttribute 不会将对象添加到请求模型中吗?

编辑:我已经尝试过两者:

这也行不通。

0 投票
1 回答
2310 浏览

ajax - 百里香 ajax 磁贴中的 Spring *{} 字段

我想知道是否有人可以提供帮助。

我正在开发一个 Spring/Webflow/Tiles/Thymeleaf 项目。一切进展顺利。我们有代表数据输入表单的图块,通常如下所示:

这运作良好。但是现在我们正在尝试为表单添加一些 ajax 魔法。基本上这个想法是,当一个按钮被按下时,它会触发一个 webflow 转换,它将在一个 tile 中呈现它的响应。这一切都很好......期待片段图块的内容。这个想法是新片段将是一些额外的表单字段。像这样的东西:

webflow 和 tiles 部分正在工作,但是当 thymeleaf 尝试渲染 tile 时,它​​抱怨表单字段使用 *{} 语法引用属性,但没有包含在带有 th:object 的表单标签中

到目前为止,我们只提出了 2 个解决方法。我们可以将带有 th:object 的表单标签放在片段拼贴中,但这意味着我们在结果页面中有一个嵌套表单:( 我们发现我们可以做的另一件事是简单地在框架中写入输入字段name 属性而不是 th:field 两个“解决方案”都感觉不对

有谁知道是否有更好、对百里香叶更友好的方式来做到这一点?

干杯

弥敦道

0 投票
6 回答
26259 浏览

javascript - 在不使用 th:inline 的情况下将变量表达式转换为 javascript

我首先进行了搜索,但我发现了令人困惑的答案,因为我是 Thymeleaf 的新手,并且充其量是 javascript 的业余爱好者。

我只想知道如何将变量表达式传递给 javascript 函数,有点像在 JSP 中:

当然,Thymeleaf 失败并传递字符串 ${contact.id} 而不是它的值,那么我怎么能得到变量表达式的值呢?

我想要这样的原因是因为它取决于正在迭代的行th:each

如果除了使用之外别无他th:inline法,那么考虑到上述陈述,最好的方法是什么?

0 投票
1 回答
2406 浏览

javascript - 在 javascript 中使用 Thymeleaf 显示消息

我正在使用 thymeleaf 和 spring 3 mvc。当我尝试执行 Ajax POST 请求时,我不明白如何在我的 html 页面上显示来自控制器的响应消息:

这是一个代码片段:

“响应”是来自控制器的 i18n 消息。现在,我想在使用 thymeleaf (th:text="response") 时显示此消息。当然,这段代码不起作用,因为它认为响应变量是一个纯字符串。

问题是如何使用 thymeleaf 显示 i18n 响应消息。或者也许还有其他方法可以通过 js 在 html 页面(不使用 jsp)上显示 i18n 消息?