是否可以在Bean中调用两个方法到一个primefaces组件中的JSF页面?我在Bean中有listOfNames()
和detailsOfName()
个方法。这两种方法返回List
种类型。
在<p:dataGrid>
中,是否可以从这两种方法中获取值?
答案 0 :(得分:3)
您无法调用多个属性。只需将两个列表合并到一个列表中,然后将其返回。
E.g。
List<String> listOfEverything = new ArrayList<String>();
listOfEverything.addAll(listOfNames);
listOfEverything.addAll(detailsOfName);
请记住you should not be doing business job in getter methods。在bean的(post)构造函数或(action)侦听器方法中执行准备工作,具体取决于您是否需要在GET或POST请求中执行此操作。
答案 1 :(得分: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);