【问题标题】:JSF - Browse and print values from ArrayList<String[]> using ELJSF - 使用 EL 浏览和打印 ArrayList<String[]> 中的值
【发布时间】:2010-12-01 13:42:48
【问题描述】:

我有一个来自 Bean 的 ArrayList:

...
public ArrayList<String[]> getArticleList() {
    ...
}
...

我需要在 JSF2 上使用 EL 打印这些值(使用 getter 方法)(例如 #{bean.articlesLage}

我该怎么做?干杯

【问题讨论】:

    标签: jsf jsf-2 facelets el


    【解决方案1】:

    我不记得 JSF 是否支持数组,但是如果你可以将你的 ArrayList&lt;Array&gt; 转换为 ArrayList&lt;ArrayList&lt;String&gt;&gt;,那么这样的东西应该可以工作

    <ui:repeat value="#{bean.articleList}" var="t">
       <ui:repeat value="#{t}" var="s">
          #{s}
       </ui:repeat>
    </ui:repeat>
    

    【讨论】:

    • 不错的一个。如果我想为每个字符串选择索引 2[]?
    • 选择索引2是什么意思?
    • 我的意思是:我的ArrayList&lt;String[]&gt; 有更多String[]。如果数组列表中的第一个String[] 是[hello, im, marco],第二个是[how, are, you],我想打印值marco 和you(每个String[] 位于2° 位置。
    • #{s} 指的是String[] 的单个String 项。 #{t} 指的是List&lt;String[]&gt; 的单个String[] 项目。所以你想摆脱嵌套的ui:repeat 并改用#{t[2]}。
    • 如果我想通过将h:inputText 放入ui:repeat 来编辑ArrayList 的值,该怎么办? stackoverflow.com/questions/19395621
    【解决方案2】:

    您可以在当前模型 ArrayList 中使用嵌套的 ui:repeat 或这样的嵌套数据表:

    <h:dataTable value="#{bean.articleList}" var="row">
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL" />
            </f:facet>
            <h:dataTable value="#{row}" var="nested_row">
                <h:column>
                <f:facet name="header">
                    <h:outputText value="COL" />
                </f:facet>
                    <h:outputText value="#{nested_row}" />
                </h:column>
        </h:dataTable>          
        </h:column>
    </h:dataTable>
    

    【讨论】:

    • 为什么富有? Richfaces 未标记
    • 是使用 RichFaces 组件的示例,std JSF 数据表(前缀 h:) 可以做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多