gpt4 book ai didi

jsf-2 - 用primefaces 5.2改变表达语言

转载 作者:行者123 更新时间:2023-12-03 17:18:20 25 4
gpt4 key购买 nike

使用primefaces 5.1,在托管bean中只引用getter是没有问题的

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

改成primefaces 5.2.2 我要做
<ui:param name="curSearch" value="#{searchBL.selectedSearch}" />

并提供一个 getter 和一个 setter。为什么?

异常(exception):
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]

我用的是JUEL,也许是这个问题?

最佳答案

根据堆栈跟踪,您有一个 <p:outputLabel indicateRequired="true">想检查是否有@NotNull在关联的 bean 属性上定义。 PrimeFaces 正在使用其自产的 org.primefaces.el.ValueExpressionAnalyzer 用于分解表示与标签组件关联的输入组件值的 EL 表达式。

然而,在 5.2它是 changed5.1 相比修复 issue 8093 的结果对空嵌套属性的 EL 检查失败。现在它不再区分方法表达式。最好的办法是报告 issue对 PrimeFaces 人员并告诉他们偷看 OmniFaces org.omnifaces.el.ExpressionInspector 如何以正确的方式进行 EL 表达式分析工作。

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

关于jsf-2 - 用primefaces 5.2改变表达语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com