Компонент, находящийся в области запроса, собирает данные от всех других компонентов запроса и бизнес-логики. Этот bean-компонент используется в выражениях EL на странице, но прежде чем этот bean-объект области действия может использоваться на странице, он должен создать каталог, используя собранные данные (это делается после того, как весь сбор закончен, но до того, как свойства bean-компонента могут быть используется на странице).
Как я могу выполнить построение каталога в этом bean-компоненте после всей коллекции, но до того, как он будет использован через выражения EL на странице без использования <f:event>
? Мне нужно собрать его только один раз.
@ManagedBean(name="namesDirectory")
@RequestScoped
public class NamesDirectory {
public void addForPersonNameRetrieval(Integer id) { // this is used to collect the data in bean
peopleNamesMap.put(id,null);
.......
}
public void buildDirectory(){ // used, when all collection is over, to build the diirectory
.......
}
public String getPersonName(Integer id) { // used in the JSF page through EL expressions
name = peopleNamesMap.get(id);
}
}
Здесь buildDirectory()
необходимо выполнить в конце всей коллекции, но перед использованием getPersonName()
на странице JSF