有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java命令在加载JSF页面时执行方法

我有两个控制器

FirstController

其中一个将转到数据库并进行计数(*),以查看有多少消息未读

SecondController

另一个将打开消息,当它打开时,如果它未读,它将被标记为已读


我面临的问题是,当我打开JSF页面时,它首先执行第一个控制器,然后执行第二个控制器。所以它不会刷新我还有多少未读的消息

是否可以在打开页面时设置执行方法的顺序

该页面看起来像一个左侧菜单,其中包含了多少未读的消息,在中间将打开该消息

我怎么做


共 (1) 个答案

  1. # 1 楼答案

    你没有详细说明“JSF如何执行firstcontroller”。这是通过preRenderViewEvent处理程序还是@PostConstuct方法实现的

    从您的问题描述来看,顺序似乎已经正确了?您说第一个控制器被执行,这个FirstController检查未读消息。因此,消息正在“刷新”。但是你说它不会刷新未读的消息,那是哪个呢

    无论如何,单个JSF视图(页面)最好由单个支持bean支持。这个单一的支持bean协调对不同服务(例如ejbbean)的调用,并准备所有必需的数据。然后视图绑定到这个支持bean,只是为了获取它的数据

    使用此设置,您根本不会遇到任何执行顺序问题