rich:orderingList用法示例

时间:2009-07-17 08:03:35

标签: java jsf richfaces

任何人都可以向我提供如何使用丰富的:orderingList控件的示例吗?我已经达到了能够按照我的意愿显示数据的程度,但现在我真的希望将修改后的顺序传播到服务器。我找不到关于这个主题的任何内容。

<rich:orderingList value="#{countryHandler.data}" var="country">
    <rich:column>
        <f:facet name="header">
            <h:outputText value="id"/>
        </f:facet>
        <h:outputText value="#{country.id}"/>
    </rich:column>
    <rich:column>
        <f:facet name="header">
            <h:outputText value="code"/>
        </f:facet>
        <h:outputText value="#{country.code}"/>
</rich:column>

并且我的支持bean定义了一个属性数据,只返回List&lt; Country&gt;。

再次:如何将更改的对象顺序填充回服务器?

2 个答案:

答案 0 :(得分:2)

当您提交表单时,Seam会为您重新排序列表(#{countryHandler.data}),以便您此时可以访问。我掀起了一个快速的例子来测试这个。所有文件如下:

CountryHandler.java

@Name("countryHandler")
@Scope(ScopeType.CONVERSATION)
public class CountryHandler {

    @In(create=true)
    private CountryService countryService;

    private List<Country> data;

    public void loadCountries() {
        this.data = this.countryService.getCountryList();
    }

    public List<Country> getData() {
        return data;
    }

    public void setData(List<String> data) {
        this.data = data;
    }

    public void submit() {
        //check the list order here.  You should find it's ordered...
    }
}

Countries.xhtml

...snip...

<rich:orderingList value="#{countryHandler.data}" var="country">
    <rich:column>
        <f:facet name="header">
            <h:outputText value="id"/>
        </f:facet>
        <h:outputText value="#{country.id}"/>
    </rich:column>
    <rich:column>
        <f:facet name="header">
            <h:outputText value="code"/>
        </f:facet>
        <h:outputText value="#{country.code}"/>
</rich:column>
</rich:orderingList>

<h:commandButton action="#{countryHandler.submit()}" value="Submit" />

...snip...

Countries.page.xml

<page>
    ...snip...

    <begin-conversation join="true"/>

    <action execute="#{countryHandler.loadCountries()}"/>

    ...snip...
</page>

另见:

答案 1 :(得分:0)

我需要使用订购清单。正如您所说,我可以将元素列表加载到排序列表中,但我无法管理从列表中删除项目。我试图使用activeItem属性,但它不支持我的对象支持bean。