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