0
如果我在方法的UIComponent
引用UIComponent
引用setStyleClass
方法所述的類不適用。爲什麼UIComponent.setStyleClass()在JSF 2.1轉換器中不起作用?
如果我在綁定組件(使用「綁定」)的輔助bean中執行相同的操作,它將按預期工作。
該轉換器被調用,它已正確註冊。
這裏是我的轉換器:
@FacesConverter(forClass = MoneyAmount.class)
public class MoneyAmountConverter implements Converter {
Logger log = LoggerFactory.getLogger(getClass());
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
MoneyAmount amount = (MoneyAmount) value;
StringBuilder sb = new StringBuilder();
sb.append(amount.getCurrency());
sb.append(" ");
sb.append(amount.getAmount());
if(component instanceof HtmlOutputLabel) {
HtmlOutputLabel lbl = (HtmlOutputLabel) component;
log.info("isOutputLabel for: {}", sb.toString());
if(amount.isNegative()) {
log.info("setting style to red");
lbl.setStyleClass("red");
} else {
log.info("setting style to blue");
lbl.setStyleClass("blue");
}
}
return sb.toString();
}
}
感謝您的期待!
是的,我調試它,setStyleClass被調用。該日誌包含來自代碼的消息。 – t3chris