フォームを送信すると、入力エラーが発生します。JourneyDate
「日付」のインスタンスです。しかし、ここではセッター、ゲッターに受け付けない文字列になってしまいます。
<s:hidden name="JourneyDate" value="%{JourneyDate}"></s:hidden>
JourneyPlan
Date型 にしたいのですが、Stringになってしまいます。
値を getter/setter に渡す前にインターセプトしてみてください。たとえば、フォームから JourneyDateString を送信し、文字列から Date を作成してから、それを getter/setter に渡します。何かのようなもの:
public void setJourneyDateString(String journeyDateString)
{
//journeyDateString could be "2013-03-28" for example
Date journeyDate = new SimpleDateFormat("yyyy-MM-dd").parse(journeyDateString);
setJourneyDate(journeyDate);
}
value
属性に設定したオブジェクトは、そのタイプをそのまま保持しDate
ます。次に、アクションで対応するセッターを定義して、の値を設定する必要がありますDate
。タグの本文に値を配置すると、文字列に変換されます。