我实现了一个客户端应用程序。此应用程序使用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
答案 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页面。