从spring控制器传递tyhmeleaf片段表达式

时间:2018-09-20 17:55:55

标签: spring spring-boot thymeleaf

我目前正在从事Spring Boot项目,但百里香片段有一个小问题。
我在名为[DllImport("__Internal", EntryPoint = "os_log_create")] public static extern IntPtr os_log_create(string subsystem, string category); 的文件中有一个名为var oslog = os_log_create("some.bundle.id", "StackOverflowCategory"); 的测试片段。
在我的[DllImport (Constants.FoundationLibrary, EntryPoint = "NSLog")] extern static void NSLog (IntPtr format, [MarshalAs (UnmanagedType.LPStr)] string s); 中,可以将其用于:

testfrag

但是,就像我尝试从控制器传递表达式时一样:

fragments.html

并在同一index.html上使用它:

<div th:replace="~{fragments :: testfrag}"></div>

我收到以下错误:

...
model.addObject("test", "fragments :: testfrag");
...

我尝试了多种变体,但是当控制器传递片段表达式时无法使它起作用。

1 个答案:

答案 0 :(得分:0)

我的代码的问题是我试图传递连接到片段名称fragments的文件路径testfrag。为了使代码工作的路径,并以这样的分离,并在加入thymeleaf本身的名称:
在Java中:

…
model.addObject("testPath","fragments");
model.addObject("testName","testfrag");
…

在HTML中:

<div th:replace="~{${testPath}::${testName}}"></div>