我发现了Thymeleaf和spring MVC的一些非常有趣的东西以及它们如何融合在一起。现在我不相信这个问题没有解决方案:
所以要根据文档在元素中包含一个片段,你应该使用这个表达式:
<div th:include="path/to/fragment/template :: fragmentName"><div/>
它有效,但事实并非如此:
<div th:include="${model_nav_attribute}"><div/> //where model_nav_attribute = "path/to/fragment/template :: fragmentName"
这不起作用,我还没有进入调试细节,但我的想法告诉我这是因为::
评估期间运算符${model_nav_attribute}
没有被评估,因为此代码段有效细:
<div th:include="${model_nav_template_path} :: ${model_nav_fragment_name}"><div/> // model_nav_template_path = "where path/to/fragment/template and model_nav_template_path = "fragmentName"
但是再次传递两个论点太麻烦了。
所以,如果
<div th:include="${model_nav_attribute}"><div/> //where model_nav_attribute = "path/to/fragment/template :: fragmentName"
绝不可能和/或更正你的建议是什么类似的效果? (这是一个根视图,具有基于URI路径的可互换内容,参数等...在单页应用程序中)我希望将片段分隔在不同的html文件中,这样它们就不会混乱,因此我需要更改路径。
答案 0 :(得分:2)
你可以试试这个:
<div th:include="__${model_nav_attribute}__"><div/>
__ 在正常表达式之前预处理表达式。
更多信息:http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#preprocessing