Springboot Thymeleaf Cache页面

时间:2017-07-06 11:10:15

标签: html intellij-idea spring-boot thymeleaf

我实现了一个客户端应用程序。此应用程序使用Rest Web服务并将这些服务返回和html页面作为模型中的变量。 我从Rest Service成功获取这些html页面并尝试写入空白的html页面。 我的代码写html页面。

public void writeToHtml(ResponseModel response) {

    FileWriter fWriter = null;
    BufferedWriter writer = null;
    try {
        fWriter = new FileWriter(src/main/resources/templates/test.html);
        writer = new BufferedWriter(fWriter);
        writer.write(response.getHtmlPage());
        writer.newLine();
        writer.close();
    } catch (Exception e) {

    }
}

这些函数可以从ResponseModel获取htmlPage并成功写入test.html 直到那里正常工作,我的控制器显示在屏幕上。

但是,如果我再次调用相同的Rest服务,它可以再次写入" test.html"但是,在屏幕上显示第一个创建的html页面。 可能它会缓存第一个html,如果我再次重写。我只拿一个缓存。

我的控制器

@RequestMapping(value = "/testPath", method = RequestMethod.POST)
public String payment(RequestModel paymentInfoModel, BindingResult bindingResult, Model model) {
    RestTemplate restTemplate = new RestTemplate();

        ResponseModel response = restTemplate.postForObject(url, request, ResponseModel.class);
        writeToHtml(response);

    return "test";

}

你能帮我解决这些问题吗?

IDEA:Inteliji

1 个答案:

答案 0 :(得分:0)

我解决了我的问题有点不同:

@RequestMapping(value = "/testPath", method = RequestMethod.POST, produces = "text/html")
@ResponseBody
public String payment(RequestModel paymentInfoModel, BindingResult bindingResult, Model model) {

   RestTemplate restTemplate = new RestTemplate();  
   ResponseModel response = restTemplate.postForObject(url, request, ResponseModel.class);
   writeToHtml(response);

   return response.getHtmlPage();
}

所以我不需要创建HTML页面。