rich:listshuttle - 在bean类中,targetValue为null

时间:2015-02-22 09:50:22

标签: jsf richfaces

在我的屏幕上使用ListShuttle,当我将值表格源移动到目标时它只在屏幕上发生,在bean中我将targetValue作为null。我使用List of String作为SourceValue。有些情况下工作正常。有些情况不起作用

我无法找到错误的地方。请帮我。提前致谢

这是我的xhtml代码:

<h:panelGrid columns="1">
<style type="text/css"> .lishShuttle td{vertical-align:top;}</style>
<rich:listShuttle id="rptColumn" styleClass="lishShuttle" onmouseover="this.style.cursor='pointer'" sourceValue="#{dynamicBean.selectedData.avlblRptClmn}" targetValue="#{dynamicBean.selectedData.selectedRptClmn}" 
listsHeight="150" sourceListWidth="180" targetListWidth="180"   var="items" showButtonLabels="false"  valueChangeListener = "#{reportViewerBean.listShuttleListener}">
<rich:column>
<h:outputText value="#{items}"></h:outputText>
</rich:column>
<a4j:support event="onorderchanged" reRender="rptColumn" status="waitStatus" ajaxSingle="true" limitToList="true"/>
<a4j:support event="onlistchanged" reRender="rptColumn" status="waitStatus" ajaxSingle="true" limitToList="true"/>

</rich:listShuttle>
</h:panelGrid>

bean方法:

public void listShuttleListener(ValueChangeEvent event){
    getLogger().debug("Inside listShuttleListener(ValueChangeEvent event)");
    HtmlListShuttle listShuttle = (HtmlListShuttle)event.getComponent();
    getLogger().debug(((List<String>)listShuttle.getTargetValue()).toString());
    getLogger().debug(((List<String>)listShuttle.getSourceValue()).toString());
    avlblRptClmn = (List<String>)listShuttle.getSourceValue();
    selectedRptClmn = (List<String>)listShuttle.getTargetValue();
    getLogger().debug("End listShuttleListener(ValueChangeEvent event)");
}

如果SourceValue行小于17,它在Tomcat和Websphere中工作正常,如果它超过17,则在websphere中它不起作用,listShuttleListener方法未被调用。我在这3天多的时间里都在挣扎,有些人会帮助我。

1 个答案:

答案 0 :(得分:0)

它不是17个元素的问题。因为,任何源String都有多个空格,然后列表中的shuttle,selectOneMenu和Pick list都不能在Web领域中工作。

相关问题