I can edit a value with an enumerated type in the following way:
| <h:selectOneMenu value="#{EditEntryComponent.blogEntry_be.category}">
| <s:selectItems value="#{EditEntryComponent.values}"
var="enum" label="#{enum.label}" noSelectionLabel="Please select
: " />
| <s:convertEnum />
| </h:selectOneMenu>
|
EditEntryComponent.values points to:
| public BlogEntry.Enum_category[] getValues() {
| return BlogEntry.Enum_category.values();
| }
|
However, I would really like to omit this last function, and retrieve the values from the
Enum_category enum directly. Does anybody see a way to express this in EL? I see a couple
of problems:
* the Java Enum API exposes values(), which does not conform to the get/set convention:
not really a problem, I can generate a getValues() static method in each enum declaration
which delegates to values()
* I cannot use enhanced EL in s:selectItems (so it appears at least)
* even if I could, how would I make a call to a static method in EL (using possibly a
fully qualified type, i.e. some.package.Enum_category.values() )
If someone sees a possibility or clever solution, please let me know...
(one solution I played with is to create the getValues() in the enum as mentioned, and to
use an EL expr. like 'EditEntryComponent.blogEntry_be.category.values' in
s:selectItems, so we retrieve the possible values from an instance. However, in this case
I cannot retrieve the possible values if the instance is null...)
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4052039#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...