2017-09-07 49 views
0

我对百里香很麻烦,因此对于本文档thymeleaf我能够仅使用片段呈现我的html页面的一部分,我试图将其与控制器代码一起使用百里香在片段上呈现

@RequestMapping("/showContentPart") 
public String showContentPart() { 
... 
return "index :: content"; 
} 

和HTML

<div id="content"> 
    Only this will be rendered!! 
</div> 

但是我想要的是一个导航栏和DIV上的链接上的用户点击应该呈现和布局应保持静态,换句话说..我想维持我的布局并更改div内容,但是当我点击链接时我得到的内容没有我的布局,我做错了什么?

+0

Thymeleaf并不真正支持这种自动刷新。这是一个服务器端渲染技术。你将不得不编写自己的JavaScript来做到这一点,或使用其他框架。 – Metroids

回答

0

你可以简单地通过你的片段作为一个模型属性的名称,以取代在布局内容:

@RequestMapping("/showContentPart") 
public String showContentPart(Model model) { 
    model.setAttribute("contentName", "content") 
    return "layoutPage"; 
} 

在布局页,你可以包括你的内容是这样的:

<div id="layout"> 
    <div th:include="index :: ${contentName}"></div> 
</div> 

showContentPart方法将返回您的布局页面,但需要的内容。如果您想要包含其他一些内容,则只需制作类似的方法,但使用“contentName”模型属性的不同值。

+0

对不起,仍然没有工作,但现在返回我的布局div内的片段仍然丢失... – zuzpapi1994