2017-07-06 8 views
0

私はクライアントアプリケーションを実装します。このアプリケーションは、Rest webserviceとこれらのサービスreturnおよびhtmlページをモデル内の変数として使用します。 私はこれらのhtmlページをRest Serviceから正常に受け取り、空白のhtmlページに書き込もうとします。 HTMLページを書くための私のコード。Springboot Thmeleaf Chacheページ

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からHTMLページのを取ると がeverthingきちんと仕事とsecreenに私のコントローラディスプレイそれそれまではtest.htmlというために首尾よく書くことができます。

しかし、同じRestサービスをもう一度呼び出すと、もう一度 "test.html"に書き込むことができますが、画面には最初に作成されたhtmlページが表示されます。 おそらく最初のhtmlがキャッシュされていて、もう一度書き直すとします。私はちょうど1つを取る。

マイコントローラー

@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

私は少し違った私の問題を解決しました:

@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ページを作成する必要はありません。

関連する問題