这是我的index.html页面的正文。它指定了应该在所有页面上的静态页眉和页脚。内容是我想根据菜单点击更改的内容。
df.coalesce(1).write.format("com.databricks.spark.csv").option("header", "true").option("nullValue"," ").save("/home/user/test_table/")
在我的header.html中,我有一个看起来像这样的链接,例如:
<body>
<div class="container" style="width: 100% !important;">
<div th:replace="fragments/header :: header"></div>
<div th:replace="@{'fragments/' + ${content}} :: ${content}"></div>
<div th:replace="fragments/footer :: footer"></div>
</div>
</body>
当用户点击此链接时,应将片段request.html插入我的内容布局:<li><a href="#" th:href="@{/index?content=request}">Make a Request</a></li>
。如果用户点击其他链接(例如<div th:replace="@{'fragments/' + ${content}} :: ${content}"></div>
),则应使用片段team.html等替换内容部分。
<li><a href="#" th:href="@{/index?content=team}">My Team</a></li>
有人建议我使用上面的RequestMapping模型根据上面列出的菜单点击更改索引页面上的内容。但我通过什么代替&#34;请求&#34;以上让这个工作?截至目前,我为@RequestMapping("/index")
String index(ModelMap model){
model.addAttribute("content", "request");
return "index";
}
获得了以下内容:
http://localhost:8081/request
如何使上述模型动态化?
我的MVC配置:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Feb 07 14:15:22 CET 2017
There was an unexpected error (type=Not Found, status=404).
No message available
无论如何,它似乎总是用@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/home").setViewName("home");
registry.addViewController("/").setViewName("home");
registry.addViewController("/index").setViewName("index");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/request").setViewName("index");
registry.addViewController("/requests").setViewName("index");
registry.addViewController("/team").setViewName("index");
}
}
而不是请求的参数替换布局的内容部分。
答案 0 :(得分:0)
你想要实现的目标需要Thymeleaf渲染视图2次。首先,它会将<div th:replace="@{'fragments/' + ${content}} :: ${content}"></div>
呈现为<div th:replace="fragments/request :: request"></div>
。在第二次渲染时,它将替换&#34; request&#34;满足于此。
Thymeleaf并没有这样做。
即使Thymeleaf支持2次渲染,我也不会看到您的方法有任何优势。
我建议你阅读Thymeleaf在他们网站上发布的教程:
http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html
http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html