2017-05-26 27 views
0

JavaScriptコードでは、日付がMM/DD/YYYYです。リクエストURLを介してこれをSpring Controllerに渡す必要があります。 文字列として渡してみましたが、/のためにできません。 date(MM/DD/YYYY)をSpringコントローラに送信する最良の方法は何でしょうか。jsからコントローラに日付を取得できません

JSコード:

var today = moment(); //it gives date as 05/26/2017 

var requestURL = myContextPath + '/processDate/'+today+'/processDateForStack.form 

コントローラ:

@RequestMapping(value = "/{today}/processDateForStack", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) 
    public 
    @ResponseBody 

String getprocessStartedDate(@PathVariable("today") String today) throws Exception{ 

System.out.println("date : " + today); //should display 05/26/2017 
//logic here 

} 

PS:ここで私はまた、日付型として使用することができ、文字列型として日付を使用していました。

jsコードからMM-DD-YYYYとして日付を送信しようとしましたが、春のコントローラでは、私は@DateTimeFormat(pattern = "MM-dd-yyyy")を使用しましたが、引数を宣言していましたが、例外がスローされました。どんな提案も役に立ちます。

--EDITED--

iはJavaScriptから文字列として日付値を渡し、ばねコントローラにおける今日の値が1495823051245あります。 javascriptから日付をDateに渡してSpring Controllerに渡すと、例外が生成されます。

pathvariableを宣言しながら、私は @DateTimeFormat(pattern = "MM-dd-yyyy")を使用しているコントローラにjsファイルから日付と日付を送っ
Error: Failed to convert value of type 'java.lang.String' to required type 'java.sql.Date'; nested exception is org.springframework.core.convert.ConversionFailedException 

+0

'System.out.println(...);'の結果となっているエラーを含めることができます – BRogers

+0

@BRogers - エラー: 'java.lang.String'型の値を必要な型 'java.sql.Date';入れ子にされた例外はorg.springframework.core.convert.ConversionFailedExceptionです。コントローラで@DateTimeFormat(pattern = "MM-dd-yyyy")を使用したときにこの例外が発生しました – user3684675

+0

明示的に 'java.sql.Date一度それを受け取ったら? – BRogers

答えて

0

@DateTimeFormatを使用して、JSコードから要求している間、あなたが送信するURLエンコーディングを使用する必要がありませんjava.sql.Date

@RequestMapping(value = "/{today}/processDateForStack", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) 
public @ResponseBody String getprocessStartedDate(@PathVariable("today") @DateTimeFormat(pattern = "MM-dd-yyyy") java.util.Date today) throws Exception { 

} 

ます。また、「MM/DD/YYYY」パターンを使用することができますが、その場合にはjava.util.Dateを使用していることを確認しますがリクエスト。

+0

jsでURLエンコードの例を挙げることができます。ありがとう – user3684675

+0

encodeURIComponent(str)とencodeURI(str)jsメソッドを参照してください。 – mhshimul

0

セパレータを/から-に変更してください。スラッシュを使用してパスを識別するSpring。 java.sqlではなくパッケージのDateも使用してください。

関連する問題