Как изменить формат отображения данных на страницах icefaces (jsf) xhtml? - PullRequest
0 голосов
/ 16 марта 2012

В моем управляемом компоненте JSF есть List<String>, который я пытаюсь получить на странице Facelets с компонентами ICEfaces.Ниже приведен вид:

<ice:panelGrid>
  <ice:panelGrid>
    <ice:outputText value="Properties:" style="text-align:left;font-size:20px;">         </ice:outputText>
    <ice:selectManyListbox id="CriteriaListbox" style="width: 200px; height: 250px; " partialSubmit="true">
         <!--<p:selectItem value="#{beanInfo.Properties}"/>-->
         <p:selectItem itemLabel="#{beanInfo.Properties}" itemValue="#{beanInfo.Properties}"/>
    </ice:selectManyListbox>
</ice:panelGrid>

Теперь я получаю данные, но они отображаются как [test1, test2, test3] в <ice:selectManyListbox>, а я хочу, чтобы они отображались как


test1


test2


test3


Если я изменю свое представление на

 <ice:panelGrid>
      <ice:panelGrid>
        <ice:outputText value="Properties:" style="text-align:left;font-size:20px;">         </ice:outputText>
        <ice:selectManyListbox id="CriteriaListbox" style="width: 200px; height: 250px; " partialSubmit="true">
             <p:selectItem value="#{beanInfo.Properties}"/>
             <!--<p:selectItem itemLabel="#{beanInfo.Properties}" itemValue="#{beanInfo.Properties}"/>-->
        </ice:selectManyListbox>
    </ice:panelGrid>

Тогда данные не будут отображатьсяна странице и я получаю следующее исключение:

java.util.ArrayList cannot be cast to javax.faces.model.SelectItem

Как это вызвано и как я могу решить это?Вот справочный вопрос .

Update1

   java.lang.ClassCastException: java.
lang.String cannot be cast to javax.faces.model.SelectItem
        at com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.countSelectOptionsRecursive(MenuRenderer.java:440) [:]
        at com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.renderSelect(MenuRenderer.java:366) [:]
        at com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:108) [:]
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [:2.1.7-SNAPSHOT]
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:359) [:]
        at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:197) [:]
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [:2.1.7-SNAPSHOT]
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:347) [:]
        at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:197) [:]
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [:2.1.7-SNAPSHOT]
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779) [:2.1.7-SNAPSHOT]
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782) [:2.1.7-SNAPSHOT]
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782) [:2.1.7-SNAPSHOT]
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782) [:2.1.7-SNAPSHOT]
        at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [:2.1.7-SNAPSHOT]
        at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) [:2.1.7-SNAPSHOT]
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [:2.1.7-SNAPSHOT]
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [:2.1.7-SNAPSHOT]
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [:2.1.7-SNAPSHOT]
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [:2.1.7-SNAPSHOT]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
...