JSF f:事件执行顺序

2023-12-01

假设我有多个 f:event 标签来处理同一类型的事件:

<f:event type="preRenderView" listener="#{myBean.action1()} />
<f:event type="preRenderView" listener="#{myBean.action2()} />

执行顺序有保证吗?

Edit:
为了澄清为什么我需要它们按特定顺序执行,这是我的用例:

myBean#action1 实际上是一个 setter

myBean#action2 是对 action1 设置的字段进行操作的方法

在我看来,这个顺序是不可靠的,这就是为什么我简单地将它们作为EL expressions在我的facelet里面是这样的:

<p:ouputPanel>
  #{myBean.action1()}
  #{myBean.action2()}
</p:ouputPanel>

The spec似乎没有在任何地方明确说明这一点。

The Application#publishEvent()API 提到它们是作为List这是本质上有序的。这俩Mojarra and MyFaces实现通过将它们存储在一个中来确认这一点CopyOnWriteArrayList and ArrayList分别。

因此,从逻辑上讲,基于 API 和两个实现,如果将它们添加到同一父 UI 组件,它们确实会按顺序执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSF f:事件执行顺序 的相关文章

随机推荐

  • 连续两次使用“readlines()”[重复]

    这个问题在这里已经有答案了 我正在尝试做这样的事情 Lines file readlines do something Lines file readlines 但第二次Lines是空的 这正常吗 您需要使用重置文件指针 file seek
  • 如何更改 Upickerview 位置?

    这是故事板 我创建了一个像这样的选择器视图 pickerView UIPickerView pickerView center view center view addSubview pickerView pickerView dataSo
  • 追加到磁盘上文件中的 golang gob

    我正在努力拯救gob 将数据编码在磁盘上的文件中作为简单的数据存储 但是 当我下次打开它时 gob 编码器只会忽略文件中已有的任何数据 并在发送数据之前开始发送已发送格式的定义 看见那个gob Encoder需要一个io Writer 而不
  • javascript 错误:无法在“文档”上执行“elementsFromPoint”:提供的双精度值是非有限的

    我最近将我的 chrome 版本更新到最新版本 即79 0 3945 130 Official Build 64 bit 并从下载兼容的 chromedriverhere 我开始面临这个错误 在详细调试时我发现Select导致问题的类 无论
  • 我应该在 Selenium 页面对象模型模式中在哪里定义模式特定代码

    在 Selenium 页面对象模型模式中 网页被表示为类 页面上的各种元素被定义为类中的变量 用户交互被实现为类中的方法 也就是说 为每个页面创建单独的类 有一个电子商务应用程序 其中包含登录 主页 搜索 产品 购物车 结账和订单确认等页面
  • 相关热图

    我想使用热图表示相关矩阵 有一种东西叫做相关图在 R 中 但我认为 Python 中没有这样的东西 我怎样才能做到这一点 值从 1 到 1 例如 1 0 00279981 0 95173379 0 02486161 0 00324926 0
  • 替换字符串中的占位符变量

    刚刚完成这个功能 基本上 它应该查看字符串并尝试查找任何占位符变量 这些变量将放置在两个大括号之间 它获取大括号之间的值 并使用它来查找数组中应与键匹配的位置 然后它用匹配键的数组中的值替换字符串中的大括号变量 但它有一些问题 首先是当我v
  • 推送通知不会发送到某些设备[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我的推送通知服务有一个非常奇怪的行为 我正在 20 台设备上测试新应用程序 但有 3 台设备没有收到任何推送通知 我在这里有自己的服务器来管理推送订阅 并且在该服务中我拥有这些设备的令牌
  • 如何在 Power BI 中格式化 matplotlib 可视化的时间序列数据

    从今天 2018 年 8 月 9 日 开始 Power BI 支持 Python 可视化 他们之前已经支持 R 可视化 但我仍然发现这些集成有点尴尬 让我告诉你我的意思 假设您有一个包含时间序列数据的表 其中顶行包含名称 日期 和 值 内容
  • 具有通用服务的 Service Fabric

    我希望有一个通用类型的服务 即 public interface IFooService
  • LinkedIn API 2 和来自 r_basicprofile 的 VanityName

    LinkedIn 最近更新了他们的 API 现在我无法获取公共用户个人资料 url 通过虚名 在 OAuth2 身份验证阶段 好像r 基本配置文件不再可用 有没有机会获得这个网址 如果有的话 您能描述一下如何获得吗 根据以下 LinkedI
  • print() 在 Opera 浏览器上不起作用

    我正在尝试使用 JavaScript 在 Opera 浏览器中打开打印对话框 这print 在所有浏览器中都工作正常 但在 Opera 中却不起作用 我的print 代码为 var printContent document getElem
  • PHP MySQLi 从 multi_query() 插入 id

    有没有办法在使用 mysqli multi query 函数插入几行后获取最后生成的 auto increment ID EDIT 我设法通过添加 SELECT LAST INSERT ID 使其工作 在多查询中的每个 INSERT 查询之
  • 如何从文本中提取数字? [复制]

    这个问题在这里已经有答案了 我有流动的文本字符串 string lt CBOE SHORT TERM VIX FUTURE DEC 2016 81 64 n n CBOE SHORT TERM VIX FUTURE JAN 2017 18
  • 在带有 UDF 的单元格公式中使用内置枚举

    我有一个用户定义的函数 它采用一个具有关联内置函数的参数enum Public Function bgrcolor cells rng As Range xlcl As Long As Integer 我想在单元格中写一个这样的公式 bgr
  • 如何将从外部作用域调用的方法存根到被测函数?

    我有一个使用 node redis 库创建的 Redis 客户端 https github com NodeRedis node redis var client require redis createClient 6379 localh
  • BCP 数据文件中遇到意外的 EOF

    我正在尝试使用 bcp 将数据从一个表复制到另一个数据库中的另一个表 首先使用创建格式文件 bcp dbName1 dbo tableName1 format nul S serverName1 T f D tableName1 fmt t
  • 为 ZBarReaderViewController 添加 uibarbutton

    我正在 ZBarReader 上工作 到目前为止我所拥有的是 ZBarReaderViewController controller ZBarReaderViewController alloc init controller naviga
  • Django 的 FormWizard 中的空 ModelFormset

    我正在使用 Django 的 FormWizard 它工作正常 但我无法正确显示任何空模型表单集 我有一个模型叫Domain 我正在创建一个像这样的 ModelFormset DomainFormset modelformset facto
  • JSF f:事件执行顺序

    假设我有多个 f event 标签来处理同一类型的事件