Change expression language using strings 5.2

With 5.1 performances, it was not a problem to refer only to the receiver in a managed bean as

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

Changed to price lists 5.2.2 I need to do

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

and provide a getter and setter. Why?

An 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] 

I am using JUEL EL, maybe this is a problem?

+5
source share
1 answer

Based on the stack trace, you have a <p:outputLabel indicateRequired="true"> that would like to check if any @NotNull in the corresponding bean property. PrimeFaces uses its homegrown org.primefaces.el.ValueExpressionAnalyzer to break up an EL expression representing the value of the input component associated with the label component.

However, in 5.2 this was changed from to 5.1 as a result of a fix for issue 8093 that EL failed, checking for nested nested properties. Now he no longer distinguishes method expressions. It’s best to tell issue to the PrimeFaces guys and tell them how to look at OmniFaces org.omnifaces.el.ExpressionInspector on how to properly analyze EL expression analysis.

However, it is strange that you refer to the readonly value as the value of the required input component.

0
source

All Articles