It's not a secret that we don't like JSF (something is very wrong with whole its design), however we have no choice but to work with it. But at times to lift hands up is only wish we have working with it.
The last pearl is with check box control: selectBooleanCheckbox. It turns out that when you disable the control on a client and assume that its value won't be databound on a server, you're wrong. Browser does not send the value as you would expect, but JSF (reference implementation at least) works like this:
private static String isChecked(String value) { return Boolean.toString("on".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value)); }
where value is null, which means that JSF thinks checkbox is unchecked.
value
null
Remember Me
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u