2017-04-20 11 views
0

Javaに値を渡すには、AngularJsからJavaコードにpostメソッドを使用しました。これは、私が必要としていることを実行するだけで、私のコードは次のとおりです:Thymeleafエラー解決テンプレート - メソッド= RequestMethod.POSTを使用

@RequestMapping(value="/shelf", method=RequestMethod.POST, consumes="application/json") 
public void getSelectedShelf(@RequestBody String shelf) throws JSONException { 

    logger.debug("Start uploading the files..."); 
    logger.debug(shelf.toString()); 
    JSONObject json; 
    try { 
     json = new JSONObject(shelf); 
    } catch (JSONException e) { 
     throw new IllegalArgumentException("Invalid JSON Payload: " + shelf, e); 
    } 
    selectedShelf= json.getLong("shelf"); 
    logger.debug(selectedShelf+""); 
    logger.info("Json Payload = " + json); 

} 

が、私のJavaメソッドの最後に、私は次のエラーを参照してください。

"org.thymeleaf.exceptions.TemplateInputException: Error resolving template "shelf", template might not exist or might not be accessible by any of the configured Template Resolvers 

私はのために/棚のテンプレートを持っていないと私は私のようにそれを持ってしたくありません私のクラスに値を渡したいだけです。どうすればこの問題を解決できますか?

+1

投稿メソッドで何も返さない場合は、@ResponseStatus(value = HttpStatus.OK)をメソッドに追加する必要があります。私はここで何が起こったのかは、春がリクエストURLに基​​づいてビューを見つけようとしていることだと思います。上記のアノテーションを追加すると、指定されたステータスコードで空のレスポンスを送るだけでよい。 –

+0

@ TommySchmidt:よく説明してくれてありがとう! – Majico

答えて

1

@Tommy Schmidtが説明したように、投稿メソッドで何も返さない場合は、@ResponseStatus(value = HttpStatus.OK)をメソッドに追加する必要があります。

関連する問題