直接从作为数组的支持 bean 输出值:

Outputing value from backing bean which is an array directly:

假设在我的支持 bean 中:

 String x []= ....
 public String [] getOutput { return this.x;}

 public String getOutputAsString(){ return Arrays.asString(x);}

然后在输出页面中我们得到输出:

#{ myBackingbean.outputAsString }

我的问题是如何消除 getOutputAsString() 并直接在输出页面中输出 :

我可以做到

#{ myBackingbean.output[0])

但对于循环示例??想象一下

for ( i to #{myBackingbean.ouput.length; ){
       #{myBackingbean.ouput [i]; }
    }

怎么做?

谢谢

只需使用可以遍历数组的标记或组件。在标准 JSF 中,它们是 <c:forEach>, <ui:repeat> and <h:dataTable>.

  1. <c:forEach>view build time 期间运行并生成 JSF 组件。

    <c:forEach items="#{bean.array}" var="item">
        #{item}
    </c:forEach>
    
  2. <ui:repeat> 在视图渲染期间运行并且不生成任何标记。

    <ui:repeat value="#{bean.array}" var="item">
        #{item}
    </ui:repeat>
    
  3. <h:dataTable> 在视图渲染期间运行并生成 HTML <table>.

    <h:dataTable value="#{bean.array}" var="item">
        <h:column>#{item}</h:column>
    </h:dataTable>