【问题标题】:JSF and EL, I don't understand this code (an array?)JSF 和 EL,我看不懂这段代码(一个数组?)
【发布时间】:2018-10-15 18:03:30
【问题描述】:

我正在阅读一些代码,并在 JSF 文件中找到了下一个 EL 表达式:

  ${text['somefield']}

它是如何工作的?

由于我无法访问整个代码,我可以检查它是什么。它是“文本”托管 bean 吗?

因为我能看懂下一段代码:

  ${someBean.text['somefield']}

(访问 bean 内的字段数组,但事实并非如此。

【问题讨论】:

标签: jsf-2 managed-bean


【解决方案1】:

text 可以是托管 bean、CDI 依赖项(这两种最有可能)

text['somefield'] 正在读取somefield 对象的somefield 字段。 text 可能是一张地图,但也可能是一个普通的 bean。相当于text.somefield

the documentation,你也可以找到类似的例子:

${customer.address["street"]}

类似于:

${customer.address.street}

【讨论】:

  • 它可以更多......只是一个放在请求范围内的 HashMap(或当前上下文中 EL 可以访问的任何范围)。它可以是资源包......甚至可以通过自定义解析器解决......
  • @Kukeltje 是的,对。我只想提及最有可能的那些,给定自定义名称text(至少对我来说,它无法识别为内置对象/bean)。欢迎您编辑此答案或发布其他答案。越详细越好,我想……
  • 某种...对我来说最有可能的是资源包...但是如果您事先知道您的答案并不广泛,请说明。否则新手可能会感到困惑......
  • 还有一个重复的;-)
猜你喜欢
  • 2017-05-16
  • 1970-01-01
  • 2017-10-13
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
相关资源
最近更新 更多