这个是我用来显示用户列表的一个表格
<t:dataTable id="users" var="user" style="margin-top: 10px"
    value="#{userList.users}" rows="25" sortColumn="#{userList.sortColumn}"
    sortAscending="#{userList.ascending}" styleClass="scrollerTable table"
    headerClass="standardTable_Header" rowClasses="standardTable_Row1,standardTable_Row2"
    columnClasses="standardTable_Column,standardTable_Column,standardTable_Column,standardTable_Column,standardTable_ColumnCentered">
    <t:column width="25%">
        <f:facet name="header">
            <t:commandSortHeader columnName="username" arrow="true">
                <h:outputText value="#{text['user.username']}" />
            </t:commandSortHeader>
        </f:facet>
        <h:commandLink action="#{userForm.edit}" value="#{user.username}" >
            <f:param name="id" value="1"/>
        </h:commandLink>
    </t:column>
    <t:column width="34%">
        <f:facet name="header">
            <t:commandSortHeader columnName="fullName" arrow="true">
                <h:outputText value="#{text['activeUsers.fullName']}" />
            </t:commandSortHeader>
        </f:facet>
        <h:outputText value="#{user.fullName}" />
    </t:column>
    <t:column width="25%">
        <f:facet name="header">
            <t:commandSortHeader columnName="email" arrow="true">
                <h:outputText value="#{text['user.email']}" />
            </t:commandSortHeader>
        </f:facet>
        <h:outputLink value="mailto:#{user.email}">
            <h:outputText value="#{user.email}" />
        </h:outputLink>
    </t:column>
    <t:column width="16%">
        <f:facet name="header">
            <t:commandSortHeader columnName="enabled" arrow="true">
                <h:outputText value="#{text['user.enabled']}" />
            </t:commandSortHeader>
        </f:facet>
        <h:selectBooleanCheckbox value="#{user.enabled}" disabled="true"/>
    </t:column>
</t:dataTable>

其中里面的按钮我都已经给加了参数了
        <h:commandLink action="#{userForm.edit}" value="#{user.username}" >
            <f:param name="id" value="1"/>
        </h:commandLink>

但是在点击的时候后台竟然是先取得所有用户的列表,然后才开始后续操作。我不想在后台保存太多数据,所以bean的上下文就定的request,现在每次点击后台的列表为空,数据下面的编辑操作就直接不进行了,真是够晕的。
要是所有bean都必须换成session才能确保不出问题,那这jsf也只是玩具而已。
评论
rockjava 2008-05-16
看你的代码用的是MyFaces吧,那你可以是用<t:saveState/>这表标签来保存你数据表格中的数据,他可以使你的保存的数据在reqeust和session之间,这样你就可以把你的bean定义为request了。
发表评论

您还没有登录,请登录后发表评论