我創(chuàng)建了一個自定義ISO日期時間Converter:public class IsoDateTimeConverter implements Converter, StateHolder { private Class type; private String pattern; private boolean transientValue = false; public void setType(Class type) { this.type = type; } public void setPattern(String pattern) { this.pattern = pattern; } @Override public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException { if (StringCheck.isNullOrEmpty(value)) { throw new ConverterException("value not specified"); } try { if (IsoDate.class.equals(type)) { if (WebConst.ISO_DATE_NONE.equals(value)) { return IsoDate.DUMMY; } else { //TODO User spezifische TimeZone auslesen return new IsoDate(value, TimeZone.getDefault().getID()); } } else if (IsoTime.class.equals(type)) { if (WebConst.ISO_TIME_NONE.equals(value)) { return IsoTime.DUMMY; } else { //TODO User spezifische TimeZone auslesen return new IsoTime(value, TimeZone.getDefault().getID()); } } else if (IsoTimestamp.class.equals(type)) { if (WebConst.ISO_TIMESTAMP_NONE.equals(value)) { return IsoTimestamp.DUMMY; } else { //TODO User spezifische TimeZone auslesen return new IsoTimestamp(value, TimeZone.getDefault().getID()); } } else { throw new ConverterException("value not convertible"); } } catch (Exception e) { throw new ConverterException(e.getMessage()); } }問題是,當(dāng)我第一次打開該視圖時,所有屬性僅在我的Converter類中設(shè)置一次,然后數(shù)據(jù)表根據(jù)初始屬性渲染并轉(zhuǎn)換值。我希望屬性是按行設(shè)置的。我該如何實現(xiàn)?
如何為數(shù)據(jù)表的每一行設(shè)置轉(zhuǎn)換器屬性?
阿晨1998
2019-12-04 11:07:27