myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Max Goltzsche <max.goltzs...@googlemail.com>
Subject t:selectManyPicklist does not assign POST data to bean property if nested in h:dataTable or ui:repeat
Date Wed, 04 Apr 2012 19:31:27 GMT
Hello,

I think there is a bug in tomahawk's selectManyPicklist component: Although
the POST values have been sent they are not assigned to the corresponding
bean's property if the picklist component is nested in a h:dataTable or
ui:repeat component (tested with both components but may also affect usage
with other loop components). I've prepared a simple example:

Facelet code:
<h:form>
    <t:selectManyPicklist value="#{manager.values}"

converter="#{util.createEntityConverter(manager.availableValues)}">
        <f:selectItems
value="#{util.createSelectItems(manager.availableValues)}" />
    </t:selectManyPicklist>

    <ui:repeat var="l" value="#{manager.multipleValues}">
        <h:message for="list"/>
        <t:selectManyPicklist value="#{l}"

converter="#{util.createEntityConverter(manager.availableValues)}">
            <f:selectItems
value="#{util.createSelectItems(manager.availableValues)}" />
        </t:selectManyPicklist>
    </ui:repeat>

    <h:commandButton value="save" action="#{manager.save()}" />
</h:form>

Manager.java (ManagedBean):
public class Manager {
    private List<Test> availableValues = new LinkedList<Test>();
    private List<Test> values = new LinkedList<Test>();
    private List<List<Test>> multipleValues = new LinkedList<List<Test>>();

    // ... getter'n'setter, empty save() method ...
}

Test is an example entity with an id property.
The util.createEntityConverter method returns a converter to convert Test
entities by their id.
The util.createSelectItems method simply returns a list of SelectItem
instances for each given entity.

The example's first selectManyPicklist works well. The second is correctly
displayed and its values are sent with the POST request when clicking the
"save" button but not assigned to the serverside bean's property.

Maybe there is a mistake in my usage of that component. Can someone verify
that, please?
What am I doing wrong or is it a bug?

regards,
Max

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message