I wrote a JSF2 custom tag extended UIInput
class:
<custom:param lang="fr" disabled="#{search.disabled}"
styleClass="#{search.styleClass}"
style="width: 95px"
value="#{search.value}" />
And I want to evaluate the value like this :
if (StringUtils.isNotEmpty((String) this.getSubmittedValue())) {
if (valeur.getCode().equals(this.getSubmittedValue())) {
writer.writeAttribute("selected", "selected", null);
}
} else {
if (valeur.getCode().equals(this.getValue())) {
writer.writeAttribute("selected", "selected", null);
}
}
Everything works fine but the setValue
method of UIInput
class is never call.
I overrided the setValue
method of UIInput
class with :
@Override
public void setValue(Object value) {
if (((String)value).startsWith("#")) {
getStateHelper().put(ParametrageTag.ATTRIBUT_VALUE, (String) value);
} else {
this.value = (String)value;
}
}
I put a breakpoint but this method is never call. The value
attibute is always null
.
I don't understand what is wrong because all other attribute of my custom tag are correctly setted.
There is a special way to obtain the value
attribute ?