0
请求作用域bean从所有其他许多请求bean &收集数据业务逻辑。这个bean通过页面中的EL表达式使用,但是在这个请求scoped bean可以在页面中使用之前,它需要使用收集的数据建立一个目录(这是在所有收集完成之后但在bean属性可能在页面中使用)。执行bean的方法,然后可以在JSF页面中使用
如何在所有收集之后但在通过页面中的EL表达式使用而不使用<f:event>
之前执行此bean中目录的构建?我只需要构建一次。
@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()
需要在所有集合的末尾但在JSF页面
没有比@Udo Held建议只建立一次更好的解决方案吗? –
下面的模式只会导致一次重建。 –
是的Udo,我得到了:)&+1 - 你的答案!然而,我想知道是否有解决方案可能通过某种事件监听器,我不知道阶段监听器,但从他们的名字思考,我想知道,如果他们是有意为这种目的..否则你的解决方案是完美的。 –