直接从作为数组的支持 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>
.
<c:forEach>
在 view build time 期间运行并生成 JSF 组件。
<c:forEach items="#{bean.array}" var="item">
#{item}
</c:forEach>
<ui:repeat>
在视图渲染期间运行并且不生成任何标记。
<ui:repeat value="#{bean.array}" var="item">
#{item}
</ui:repeat>
<h:dataTable>
在视图渲染期间运行并生成 HTML <table>
.
<h:dataTable value="#{bean.array}" var="item">
<h:column>#{item}</h:column>
</h:dataTable>
假设在我的支持 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>
.
<c:forEach>
在 view build time 期间运行并生成 JSF 组件。<c:forEach items="#{bean.array}" var="item"> #{item} </c:forEach>
<ui:repeat>
在视图渲染期间运行并且不生成任何标记。<ui:repeat value="#{bean.array}" var="item"> #{item} </ui:repeat>
<h:dataTable>
在视图渲染期间运行并生成 HTML<table>
.<h:dataTable value="#{bean.array}" var="item"> <h:column>#{item}</h:column> </h:dataTable>