在JSF中,输出List< SomeObj>的最短方法是什么?以逗号分隔的“名称"列表SomeObj的属性
问题描述:
我有一个关于在JSF中将对象列表输出为逗号分隔列表的问题.
I have a question about outputing a list of objects as a comma separated list in JSF.
让我们说:
public class SomeObj {
private String name;
... constructors, getters and setters ...
}
和列表< SomeObj>:
and List<SomeObj>:
List<SomeObj> lst = new ArrayList<SomeObj>();
lst.add(new SomeObj("NameA"));
lst.add(new SomeObj("NameB"));
lst.add(new SomeObj("NameC"));
将其输出为列表框,我可以使用以下代码:
to output it as a listbox I can use this code:
<h:selectManyListbox id="id1"
value="#{listHolder.selectedList}">
<s:selectItems value="#{listHolder.lst}"
var="someObj"
label="#{someObj.name}"/>
<s:convertEntity />
</h:selectManyListbox>
但是,以逗号分隔的按原样输出列表的最简单方法是什么?像这样:
But what is the easiest way to output the list as is, comma seperated ? Like this:
NameA, NameB, NameC
我应该使用JSTL< c:forEach/>或者可以是< s:selectItems/>标签也可以使用吗?
Should I use JSTL <c:forEach/> or may be the <s:selectItems/> tag can also be used ?
答
使用<ui:repeat>
(来自facelets).类似于c:forEach
use <ui:repeat>
(from facelets). It's similar to c:forEach
或在托管bean中预先计算逗号分隔的字符串,然后通过getter获取它.
Or pre-compute the comma-separated string in the managed bean, and obtain it via a getter.