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
Jsf 2 使用primefaces 5.2更改表达式语言_Jsf 2_Primefaces_Facelets_Jsf 2.2_Juel - Fatal编程技术网

Jsf 2 使用primefaces 5.2更改表达式语言

Jsf 2 使用primefaces 5.2更改表达式语言,jsf-2,primefaces,facelets,jsf-2.2,juel,Jsf 2,Primefaces,Facelets,Jsf 2.2,Juel,在PrimeFaces5.1中,在托管bean中只引用getter是没有问题的 <ui:param name="curSearch" value="#{searchBL.getSelectedSearch()}" /> 我使用JUEL,也许这就是问题所在?基于堆栈跟踪,您有一个,它想检查是否在相关的bean属性上定义了任何@NotNull。PrimeFaces使用它自己开发的函数来分解表示与标签组件关联的输入组件值的EL表达式 但是,在中,它与修复了空嵌套属性上EL检查失败的结果进

在PrimeFaces5.1中,在托管bean中只引用getter是没有问题的

<ui:param name="curSearch" value="#{searchBL.getSelectedSearch()}" />

我使用JUEL,也许这就是问题所在?

基于堆栈跟踪,您有一个
,它想检查是否在相关的bean属性上定义了任何
@NotNull
。PrimeFaces使用它自己开发的函数来分解表示与标签组件关联的输入组件值的EL表达式

但是,在中,它与修复了空嵌套属性上EL检查失败的结果进行了比较。现在它不再区分方法表达式。你最好的办法是向PrimeFaces的人报告一个事件,告诉他们看看OmniFaces如何以正确的方式完成EL表达式分析工作


尽管如此,将只读值作为所需输入组件的值引用还是有点奇怪。

您能提供更多的上下文吗?
不是来自PrimeFaces。这是Facelets的。
#{}
事物也不是来自PrimeFaces。它来自JSF和容器。所以很奇怪,它的行为受到PrimeFaces升级的影响。这更可能是一个错误的观察。我使用的是Juel2.2.7。如果我只将pf版本从5.1.17更改为5.2.2,则会出现此异常。对于5.1.17,它可以正常工作。ui:include只是一个例子。我不得不在几个地方对它进行了更改(在切换回5.1.17的过程中被另一个问题卡住了),看起来他们以不兼容的方式更改了他们的
ValueExpressionAnalyzer
。报告一个问题。只是想知道这将如何导致5.2版本。
<ui:param name="curSearch" value="#{searchBL.selectedSearch}" />
09:35:29,178 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-/0.0.0.0:9090-6) Error Rendering View[/views/main.xhtml]: javax.el.ELException: /sections/search/searchOptions.xhtml @23,111 value="#{curSearch.sortPropertyName}": /sections/search/firstSearchTab.xhtml @44,53 value="#{curSearch}": /sections/searchMaskContent.xhtml @38,74 value="#{searchBL.getSelectedSearch()}": Cannot find method 'getSelectedSearch' in 'class SearchBL$Proxy$_$$_WeldClientProxy'
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:103) [jsf-impl-2.2.10.jar:2.2.10]
at org.primefaces.el.ValueExpressionAnalyzer.intercept(ValueExpressionAnalyzer.java:69) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.el.ValueExpressionAnalyzer.getReference(ValueExpressionAnalyzer.java:27) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.metadata.BeanValidationMetadataExtractor.extractPropertyDescriptor(BeanValidationMetadataExtractor.java:64) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.metadata.BeanValidationMetadataExtractor.extractConstraintDescriptors(BeanValidationMetadataExtractor.java:51) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.metadata.BeanValidationMetadataExtractor.extractDefaultConstraintDescriptors(BeanValidationMetadataExtractor.java:46) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.component.outputlabel.OutputLabelRenderer.isNotNullDefined(OutputLabelRenderer.java:139) [primefaces-5.2.2.jar:5.2.2]
at org.primefaces.component.outputlabel.OutputLabelRenderer.encodeEnd(OutputLabelRenderer.java:121) [primefaces-5.2.2.jar:5.2.2]
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) [jsf-api-2.2.10.jar:2.2]
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) [jsf-impl-2.2.10.jar:2.2.10]
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114) [jsf-impl-2.2.10.jar:2.2.10]