Manuel K created MYFACES-4585: --------------------------------- Summary: EL expression error: MethodNotFoundException due to wrong type Key: MYFACES-4585 URL: https://issues.apache.org/jira/browse/MYFACES-4585 Project: MyFaces Core Issue Type: Bug Components: General Affects Versions: 4.0.0 Environment: primefaces-test project, jakarta branch Reporter: Manuel K Attachments: image-2023-03-06-13-26-43-151.png
When an object is passed through several layers of components, the type somehow gets lost and the expression evaluation uses the wrong type for a method call. Taglib component, where converter is of type {_}java.faces.convert.Converter{_}: {code:java} <?xml version="1.0" encoding="UTF-8"?> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui"> <!--@elvariable id="value" type="java.lang.Object"--> <!--@elvariable id="converter" type="java.faces.convert.Converter"--> <!--@elvariable id="readonly" type="java.lang.Boolean"--> <!--@elvariable id="readonlyValue" type="java.lang.String"--> <o:tagAttribute name="value" default=""/> <o:tagAttribute name="converter" default=""/> <div> <p:autoComplete id="input" value="#{value}" var="item" converter="#{converter}" completeMethod="#{converter.suggest}" itemValue="#{item}" itemLabel="#{converter.getDisplayValue(item)}"> <ui:insert name="autoCompleteChildren"/> </p:autoComplete> </div> </ui:composition> {code} The method call somehow assumes a String, so the following exception is thrown: {code:java} jakarta.el.MethodNotFoundException: Method not found: class java.lang.String.getDisplayValue(java.lang.String) {code} I have created a reproducer here: [https://github.com/mkomko/primefaces-test/tree/expression-error-method-not-found] The AutoComplete component should work and render results as follows: !image-2023-03-06-13-26-43-151.png! It works using {code:java} mvn clean jetty:run -Pmojarra40{code} but not using {code:java} mvn clean jetty:run -Pmyfaces40{code} Thank you very much in advance for taking a look! -- This message was sent by Atlassian Jira (v8.20.10#820010)