如何在datatable jsf中显示数据库中数值的文本
在datatable列中,如何显示从数据库检索的数字值的文本如何在datatable jsf中显示数据库中数值的文本,jsf,datatable,Jsf,Datatable,在datatable列中,如何显示从数据库检索的数字值的文本 例如,如果来自数据库的列的值是2,那么我需要在datatable中显示“Cheese”。类似地,如果值是3,那么我需要显示“cake”。您需要在支持bean中维护这些值的映射 private Map<Long, String> foods; public Bean() { foods = new HashMap<Long, String>(); foods.put(1L, "Pizza");
例如,如果来自数据库的列的值是2,那么我需要在datatable中显示“Cheese”。类似地,如果值是3,那么我需要显示“cake”。您需要在支持bean中维护这些值的映射
private Map<Long, String> foods;
public Bean() {
foods = new HashMap<Long, String>();
foods.put(1L, "Pizza");
foods.put(2L, "Cheese");
foods.put(3L, "Cake");
// ...
}
public Map<Long, String> getFoods() {
return foods;
}
私人地图食品;
公共豆(){
foods=新HashMap();
食物。放入(1L,“比萨饼”);
食物。放入(2L,“奶酪”);
食物。放入(3L,“蛋糕”);
// ...
}
公共地图getFoods(){
归还食物;
}
然后你可以得到它如下
<h:dataTable value="#{bean.items}" var="item">
<h:column>
<h:outputText value="#{bean.foods[item.number]}" />
</h:column>
</h:dataTable>
Where
#{item.number}
应该返回所需的数字作为Long
@BalusC:感谢您的快速回复…您的解决方案有效:)@BalusC:最初我想使用messages.properties。是否可以将属性文件用于此目的?请告诉我不客气。当然,只需将Map
替换为Properties
。由于Properties
扩展了Map
,因此它同样可以正常工作。#{item.number}
现在不一定需要是长的
。字符串
也可以。我也将尝试使用属性实现。谢谢您的输入。@BalusC我试图使用属性。但是有一些问题。请帮助我。messages.properties 1=cheese a=vannila在我的xhtml文件中,下面的工作正常,但不是下面的。我还需要替换数据库中的值,就是这个值好的