-
Bug
-
Resolution: Done
-
Minor
-
None
-
None
Enum properties and method are not recognized:
In this case, label is recognized and shows up in the completion suggestions, but name() is not and marked as unrecognized.
<p:dataTable value="#{page.dataModel}" var="managerData" lazy="true" rowStyleClass="#{managerData.status.label} labor-protection-#{managerData.status.name().replace('_', '-').toLowerCase()}"> ... </p:dataTable>
public enum SignOffStatus { VALID("Valid"), ALMOST_EXPIRED("Almost expired"), EXPIRED("Expired"); private final String label; private SignOffStatus(String label) { this.label = label; } public String getLabel() { return label; } }
In a different page:
<p:selectOneMenu value="#{instancePage.instanceCriteria.status}"> <f:selectItem itemLabel="--select--" itemValue="#{null}" /> <f:selectItems value="#{appBean.getStatuses()}" var="stat" itemLabel="#{stat.label}" /> </p:selectOneMenu>
The enum has a getLabel() as the one above, but in this context it's not recognized ("label" cannot be resolved).
- clones
-
JBIDE-21323 EL Knowledge Base Problem with enums
- Closed