JSF 2 + RichFaces - проблема с установкой переменной в управляемом бине - PullRequest
1 голос
/ 16 сентября 2011

У меня есть следующий код, и commandLink в каждой строке должен передавать username бину, но он принимает значение NULL. Это почему? DataProviderBean равно SessionScoped.

<h:form>
    <rich:dataTable value="#{dataProviderBean.profileStats}" var="item"
        id="statsTable">
        <f:facet name="noData">No stats are available.</f:facet>
        <rich:column filterValue="#{filteringBean.usernameFilter}"
            filterExpression="#{fn:containsIgnoreCase(item.profile.username, filteringBean.usernameFilter)}">
            <f:facet name="header">
                <h:outputText value="Profile" />
                <br />
                <h:inputText value="#{filteringBean.usernameFilter}">
                    <a4j:ajax event="keyup" render="statsTable@body" execute="@this" />
                </h:inputText>
            </f:facet>
            #{item.profile.username}
        </rich:column>
        <rich:column>
            <f:facet name="header">AO Messages Count</f:facet>
                #{item.aoMessagesCount}
        </rich:column>
        <rich:column>
            <f:facet name="header">MO Messages Count</f:facet>
            #{item.moMessagesCount}
        </rich:column>
        <rich:column>
            <f:facet name="header">Administration</f:facet>
            <a4j:commandLink execute="@this" render="@none"
                oncomplete="#{rich:component('confirmPane')}.show()">
                <h:graphicImage url="./resources/images/delete.png" alt="Delete" />
                <a4j:param value="#{item.profile.username}"
                    assignTo="#{deleteStatsBean.username}" />
            </a4j:commandLink>
        </rich:column>
    </rich:dataTable>

    <a4j:jsFunction name="remove" action="#{deleteStatsBean.delete}"
        render="statsTable" execute="@this"
        oncomplete="#{rich:component('confirmPane')}.hide();" />

    <rich:popupPanel id="confirmPane" autosized="true">
        <h:outputText value="Are you sure you want to delete the profile statistics?" />
        <br />
        <a4j:commandButton value="Delete" onclick="remove(); return false;" />
        <a4j:commandButton value="Cancel"
            onclick="#{rich:component('confirmPane')}.hide(); return false;" />
    </rich:popupPanel>
</h:form>
...