Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSF和EL,我不知道';我不理解这个代码(数组?)_Jsf 2_Managed Bean - Fatal编程技术网

Jsf 2 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可能

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

  ${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…但如果您事先知道您的答案不全面,请说明。否则新来者可能会感到困惑…并且存在重复;-)