私は最新の春と冬眠を使用しています。私は日時のJSPページを取得し、mysqlデータベースに挿入する必要があります。 Im TIMESTAMPを1フィールドのデータ型として使用しています。保存しようとすると、エラーは発生しませんが、「HTTPステータス[400] - [Bad Request]」と表示されます。春の日付と時刻を設定するmvc
最後に私が見つける、日付と時刻の形式での問題は、(注釈やMySQLデータ型またはJSPページであってもよい)があります。日付時刻の値を変更することなくフォームを更新しようとしています(パス= "startDateTime")。正常に更新されました。日付時刻(パス= "startDateTime")の値を変更しようとすると、「HTTPステータス[400] - [Bad Request]」と表示されます。
データベースに日付と時刻を更新する必要があります。私は多くの方法で試しましたが、失敗しました。この問題を解決するために私を助けてください。前もって感謝します。
Modelクラス
public class Survey{
//other declaration
@Column(name="startDateTime",columnDefinition="TIMESTAMP")
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
private Date startDateTime;
}
JSPページ
<spring:url value="/survey/save" var="saveURL"></spring:url>
<form:form action="${saveURL}" method="POST" modelAttribute="surveyForm">
//other stuffs
<form:input type="datetime-local" path="startDateTime" />
</form:form>
コントローラ
public ModelAndView saveSurvey(@ModelAttribute("surveyForm") Survey survey) {
surveyService.saveOrUpdate(survey);
return new ModelAndView("redirect:/survey/list");
}
解決していないあなたはノートで述べたように、入力datetime型は、JSPで使用できなくなりました。どうすれば日時を取得できますか?私は日時を設定する必要がある、私は更新するために休止状態を必要としない。 '@ PreUpdate'の必要はありません、そうですか? – varman
私はこの問題がJSPに関係しているのか疑問です。フォーム入力タイプdatetime-localは、Firefox、Internet Explorer 12およびそれ以前のバージョンではサポートされていません。 jquery datetime pickerを使用して日付と時刻を取得することをお勧めします。 jqueryのdatetimeピッカーがISO形式のdatetimeを取得しない場合は、コンバータインターフェイスを実装し、私の答えに記載されているようにクラスを登録する必要があります。 – Perry
public ModelAndView saveSurvey(@RequestParam( "startDateTime")) String startDateTime){ LocalDateTime lds = LocalDateTime.parse(startDateTime);このメソッドはStringを現在の日付に変換します。しかし、私が 'public ModelAndView saveSurvey(@ModelAttribute(" surveyForm ")Survey survey){'を使用すると、それは動作しません – varman