społeczeństwo klasowy CancerTypePropertyEditor przedłużyć PropertyEditorSupport {
intymny CancerTypeDAO dao;
jawny CancerTypePropertyEditor (CancerTypeDAO dao, Klasowy collectionType) {
super (collectionType);
this.dao = dao;
}
@Override
jawny kawitacyjny setAsText (Smyczkowy tekst) rzucać IllegalArgumentException {
Przedmiot obj = getValue ();
Lista lista = (Lista) obj;
dla (Smyczkowy str: text.split (", ")) {
list.add (dao.retrieveCancerType (Long.valueOf (str)));
}
}
@Override
społeczeństwo Smyczkowy getAsText () {
// TODO Samochód-Wytwarzać metoda karcz
powrotny super.getAsText ();
}
}
W Kontroler:
@Override
ochraniać kawitacyjny initBinder (HttpServletRequest prośba,
ServletRequestDataBinder segregator) rzut Wyjątek {
super.initBinder (prośba, segregator);
binder.registerCustomEditor (List.class, "cancerTypes",
nowy CancerTypePropertyEditor (getCancerTypeDao (),
List.class)); / nowy CancerTypePropertyEditor ());
}
W CancerType POJO (ignorować the bałamutny zmienna):
@Override
jawny jawny równy (Przedmiot anObject) {
jeżeli (anObject == null) {
powrotny fałszywy;
} inny jeżeli (ten == anObject) {
powrót prawdziwy;
} inny jeżeli (anObject instanceof CancerType) {
definitywny CancerType aCountry = (CancerType) anObject;
Długi aCountryId = aCountry.getId ();
jeżeli (aCountryId! = null) {
powrotny aCountry.getId () .equals (id);
}
}
powrotny fałszywy;
}
The etykietka:
|