Thymeleaf:使用Ajax刷新价值

时间:2018-02-20 18:03:39

标签: javascript jquery ajax spring-boot thymeleaf

我在Thymeleaf模板中有这段代码。

 <div class="alert_counter" th:classappend="${numDeviceEventsWithAlarm>0} ?  show_info">
                                    <span th:text="${numDeviceEventsWithAlarm}">${numDeviceEventsWithAlarm}</span>
                                </div>

是否可以使用Ajax和没有F5 ??

刷新值numDeviceEventsWithAlarm

1 个答案:

答案 0 :(得分:5)

您可以使用该功能仅渲染Thymeleaf视图的片段。

首先提供您想要更新 id 的标记片段:

e

然后我们可以在控制器中创建一个Spring请求映射:

<span id="eventCount" th:text="${numDeviceEventsWithAlarm}"></span>

请参阅Thymeleaf手册中的Specifying fragments in controller return values以更好地理解指定要渲染的片段的返回。

创建JavaScript函数以使用ajax (jQuery style)更新值:

@RequestMapping(value="/event-count", method=RequestMethod.GET)
public String getEventCount(ModelMap map) {
    // TODO: retrieve the new value here so you can add it to model map
    map.addAttribute("numDeviceEventsWithAlarm", count);

    // change "myview" to the name of your view 
    return "myview :: #eventCount";
}

然后在需要更新值时调用此函数。