Jsf 2 JSF和EL,我不知道';我不理解这个代码(数组?)
我正在阅读一些代码,在JSF文件中发现了下一个EL表达式:Jsf 2 JSF和EL,我不知道';我不理解这个代码(数组?),jsf-2,managed-bean,Jsf 2,Managed Bean,我正在阅读一些代码,在JSF文件中发现了下一个EL表达式: ${text['somefield']} 它是怎么工作的 因为我没有访问整个代码的权限,所以我可以检查它是什么。“文本”是托管bean吗 因为我能理解下一个代码: ${someBean.text['somefield']} (访问bean中的字段数组,但事实并非如此。text可以是托管bean,也可以是CDI依赖项(最有可能的两种) text['somefield']正在读取text对象的somefield字段。text可能
${text['somefield']}
它是怎么工作的
因为我没有访问整个代码的权限,所以我可以检查它是什么。“文本”是托管bean吗
因为我能理解下一个代码:
${someBean.text['somefield']}
(访问bean中的字段数组,但事实并非如此。
text
可以是托管bean,也可以是CDI依赖项(最有可能的两种)
text['somefield']
正在读取text
对象的somefield
字段。text
可能是一个映射,但也可能是一个普通bean。它相当于text.somefield
在中,您还可以找到类似的示例:
${customer.address["street"]}
这类似于:
${customer.address.street}
它很可能是一个映射。它也可以是一个在faces-context.xml中定义的字段,一个资源包。实际上是任何范围内的映射(例如,通过CDI
@Producer
),甚至是通过自定义EL解析器解析的某个对象。它的可能副本可能更大……只是放在请求范围内某处的哈希映射(或者当前上下文中EL可以访问的任何范围)。它可以是一个resourcebundle…或者甚至可以通过自定义解析程序解析的东西…@Kukeltje是的,对。考虑到自定义名称text
(至少对我来说,它不能识别为内置对象/bean),我只想提到最可能的那些。欢迎您编辑此答案或发布其他答案。我想,详细信息越多越好…对我来说,最有可能的答案是resourcebundle…但如果您事先知道您的答案不全面,请说明。否则新来者可能会感到困惑…并且存在重复;-)