如何在datatable jsf中显示数据库中数值的文本

时间:2011-05-24 19:26:56

标签: jsf datatable

在数据表列中,如何显示从数据库检索的数值的文本。

例如,如果数据库中colum的值为2,那么我需要在datatable中显示“Cheese”。同样,如果值为3,那么我需要显示“蛋糕”。

1 个答案:

答案 0 :(得分:2)

您需要在辅助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;
}

然后你可以按照以下方式获得它

<h:dataTable value="#{bean.items}" var="item">
    <h:column>
        <h:outputText value="#{bean.foods[item.number]}" />
    </h:column>
</h:dataTable>

#{item.number}应将所需的数字返回为Long