0

是否可以在一个 primefaces 组件中从 Bean 调用两种方法到 JSF 页面?我在 Bean 中有listOfNames()和方法。detailsOfName()这两种方法返回List类型。

在 a<p:dataGrid>中,是否可以从这两种方法中获取值?

4

2 回答 2

3

您不能调用多个属性。只需将两个列表合并为一个列表并返回即可。

例如

List<String> listOfEverything = new ArrayList<String>();
listOfEverything.addAll(listOfNames);
listOfEverything.addAll(detailsOfName);

请记住,您不应该在 getter 方法中做生意。在 bean 的 (post)constructor 或 (action)listener 方法中做准备工作,这取决于您在 GET 或 POST 请求中是否需要它。

于 2013-02-14T12:52:00.310 回答
1

我会按照 BalusC 建议的方式进行操作,但如果需要,我会在您的视图中或其他地方引入将两个列表分开的功能,从而返回List<List<String>>, 或Map<String, List<String>>, 即

    List<List<String>> unitedList = new ArrayList<List<String>>();
    unitedList.add(listOfNames);
    unitedList.add(detailsOfName);

或者

    Map<String, List<String>> unitedMap = new HashMap<String, List<String>>();
    unitedMap.put("listOfNames", listOfNames);
    unitedList.add("detailsOfName", detailsOfName);
于 2013-02-14T13:10:10.330 回答