在控制器内加载Thymeleaf片段时,会返回片段名称

时间:2017-03-16 14:56:11

标签: spring-boot fragment thymeleaf

尝试在Java Spring Boot Controller中操作Thymeleaf片段。 根据{{​​3}},为了在控制器内加载Thymeleaf片段的内容,我们需要做的就是以下

return "fragments/customerSearch :: customersTable";

虽然在我的情况下,以下脚本只导致字符串:“fragments / customerSearch :: customersTable”返回:

private String getDocumentsByTransaction(Transaction transaction) {
    return "fragments/block-document :: popup(transaction)";
}

在另一个函数中:

...
String documents = getDocumentsByTransaction(transaction);
...

是否缺少加载片段内容而不是片段名称作为静态字符串?

1 个答案:

答案 0 :(得分:0)

return "fragments/customerSearch :: customersTable";仅在方法实际上是控制器方法时才有效,并且您正在完成整个MVC过程。

在您的示例中,它应如下所示:

@Controller
public class WhateverController {
    @GetMapping("/page")
    private String getDocumentsByTransaction() {
        return "fragments/block-document :: popup";
    }
}

现在,如果您在浏览器中访问/ page ,它将返回片段而不是整个页面。你也不能只在你的java中调用getDocumentsByTransaction() ...后台发生了很多春天。如果你真的想做类似的事情,你必须在你的java中发出一个http请求。