a classe pública CancerTypePropertyEditor estende PropertyEditorSupport {
dao confidencial de CancerTypeDAO;
CancerTypePropertyEditor público (dao de CancerTypeDAO, collectionType da classe) {
super (collectionType);
this.dao = dao;
}
@Override
o setAsText vago do público (o texto da corda) joga IllegalArgumentException {
Obj = getValue do objeto ();
Lista da lista = obj (da lista);
para (estreptococo da corda: text.split (“, ")) {
list.add (dao.retrieveCancerType (Long.valueOf (estreptococo)));
}
}
@Override
getAsText público da corda () {
Topo Auto-gerado TODO do método de //
super.getAsText do retorno ();
}
}
No controlador:
@Override
initBinder vago protegido (pedido de HttpServletRequest,
Exceção dos lances da pasta de ServletRequestDataBinder) {
super.initBinder (pedido, pasta);
binder.registerCustomEditor (List.class, “cancerTypes”,
CancerTypePropertyEditor novo (getCancerTypeDao (),
List.class)); / CancerTypePropertyEditor novo ());
}
Em CancerType POJO (ignorar a variável desconcertante que nomeia):
@Override
iguais bôoleanos públicos (anObject do objeto) {
se (zero do == do anObject) {
falso do retorno;
} mais se (este anObject do ==) {
do retorno retificar;
} mais se (instanceof CancerType do anObject) {
CancerType final aCountry = anObject (de CancerType);
aCountryId longo = aCountry.getId ();
se (aCountryId! = zero) {
aCountry.getId do retorno () .equals (identificação);
}
}
falso do retorno;
}
O Tag:
|