任何人都可以向我提供如何使用丰富的: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;。
再次:如何将更改的对象顺序填充回服务器?
答案 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。