java命令在加载JSF页面时执行方法
我有两个控制器
FirstController
其中一个将转到数据库并进行计数(*),以查看有多少消息未读
SecondController
另一个将打开消息,当它打开时,如果它未读,它将被标记为已读
我面临的问题是,当我打开JSF页面时,它首先执行第一个控制器,然后执行第二个控制器。所以它不会刷新我还有多少未读的消息
是否可以在打开页面时设置执行方法的顺序
该页面看起来像一个左侧菜单,其中包含了多少未读的消息,在中间将打开该消息
我怎么做
# 1 楼答案
你没有详细说明“JSF如何执行firstcontroller”。这是通过
preRenderViewEvent
处理程序还是@PostConstuct
方法实现的从您的问题描述来看,顺序似乎已经正确了?您说第一个控制器被执行,这个
FirstController
检查未读消息。因此,消息正在“刷新”。但是你说它不会刷新未读的消息,那是哪个呢无论如何,单个JSF视图(页面)最好由单个支持bean支持。这个单一的支持bean协调对不同服务(例如ejbbean)的调用,并准备所有必需的数据。然后视图绑定到这个支持bean,只是为了获取它的数据
使用此设置,您根本不会遇到任何执行顺序问题