に動作していない私はそうのように、Date
変数のgetter/setterメソッドを持っています:カスタムStrutsの型コンバータは
private Date registrationDate;
@TypeConversion(converter = "org.com.helper.DataHelper")
public Date getRegistrationDate() {
return registrationDate;
}
@TypeConversion(converter = "org.com.helper.DataHelper")
public void setRegistrationDate(Date registrationDate) {
this.registrationDate = registrationDate;
}
あなたは私が入ってくる文字列を変換するためのカスタムstruts
コンバータを作成しました見ることができるようにDate
形式に変換して割り当てます。しかし、それは動作していないようです。ここでDateHelperのためのコードは次のとおりです。
public class DateHelper extends StrutsTypeConverter {
private static final DateFormat FORMAT = new SimpleDateFormat("dd-MM-yyyy");
@Override
public Object convertFromString(Map arg0, String[] values, Class arg2) {
try {
System.out.println(values[0]+"called from datahelper");
return FORMAT.parse(values[0]);
} catch (Exception e) {
throw new TypeConversionException(e.getMessage());
}
}
@Override
public String convertToString(Map arg0, Object value) {
try {
return FORMAT.format(value);
} catch (Exception e) {
throw new TypeConversionException(e.getMessage());
}
}
}
私はフォームデータを取得し、解析するstruts2-json
プラグインを使用します。このプラグインは自動的にすべての文字列値を割り当てますが、私はDate
に問題があります。
これは、フォームからJavaに渡されるデータを取得する方法です。
{"data":{"recordId":"123","registrationDate":"20-07-2016","hisId":"","herId":"","lastNameHe":"Asd","firstNameHe":"Asd","middleNameHe":"Asd","workPlaceHe":"","educationHe"}}
だから、私の理解によるとregistrationDate
を設定するために開始する前に、コードは、ヘルパークラスを呼び出す必要がありますし、date
に文字列を変換しregistrationDate
セッターを呼び出す..しかし、動作していないよう...私はさらにlog
コールをヘルパーコードに入れましたが、それは日食には現れません。
ああ、...それはOPであることを奇妙です最初に気付いたのは次のとおりです:)良いQ&A –
@AndreaLigiosええ、jsonのプラグインは本当にリファクタリングされるべきです。 –
「JSONはタイプに解決できません」というメッセージが表示され、インポートできるライブラリがありません。それはjacksonviewを使用するように示唆しています.. – Daler