Well I have some commandLink components nested in a dataList, too ... but the actions are invoked correctly. Here an example:

<x:dataList id="superclasses"
                        var="item"
                        value="#{currentClass.directSuperclasses}"
                        layout="simple"
                        rowCountVar="rowCount"
                        rowIndexVar="rowIndex" >

                <h:commandLink actionListener="#{currentClass.removeDirectSuperclass}"
                               action="">
                               immediate="true">
                    <h:graphicImage value="/images/delete.gif" />
                    <f:param name="class" value="#{item}" />
                </h:commandLink>
                <h:commandLink styleClass="linkClass" actionListener="#{currentClass.loadClass}" action="" immediate="true">
                    <h:outputText value="#{item.name}" />
                    <f:param name="class" value="#{item}" />
                </h:commandLink>
</x:dataList>

I guess it has something to do with the state of the nested components that is restored while the dataList component iterates over the list elements.
Something seems to be broken or not completely implemented there.

After some insight into the code i think the implementation of the following methods is missing in the dataList component:

processValidators(context);
processUpdates(context);

If I have time, I will try to patch this.

Reply via email to