[
https://issues.jboss.org/browse/RF-11469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12781378#comment-12781378
]
Valiantsin Shukaila commented on RF-11469:
------------------------------------------
I am having such problem with 4.3.1 version of Richfaces.
The Problem is that by default autoCompleteMethod seems to be defined with 3
parameters: FacesContext,UIComponent,String.
This can be seen from here:
{code}
try {
// String value = getInputValue(facesContext, component);
itemsObject = autocompleteMethod.invoke(facesContext.getELContext(), new
Object[] { facesContext, component, value });
} catch (MethodNotFoundException e) {
ExpressionFactory expressionFactory =
facesContext.getApplication().getExpressionFactory();
autocompleteMethod =
expressionFactory.createMethodExpression(facesContext.getELContext(),autocompleteMethod.getExpressionString(),
Object.class, new Class[] { String.class });
itemsObject = autocompleteMethod.invoke(facesContext.getELContext(), new
Object[] { value });
}
{code}
One can see that if method with 3 arguments is not found(actually it is not
clear why it is 3 arguments, they are useless) just exception is caught and new
MethodExpression is created. But this new MethodExpression doesn't take in
account all facelet compositions so beans passed as parameters would not be
resolved in this new method expression.
So I see the easiest workaround for this: change method declaration in the bean
so that it would have 3 arguments (FacesContext, UIComponent, String).
For me this worked well.
Actually it's a pity that almost 2 years passed after this issue was found and
it is still not resolved. Actually I have such a bad feeling with all richfaces
4 version. Seems nobody supports it now?
> autocomplete method does not resolve bean if ui:included
> --------------------------------------------------------
>
> Key: RF-11469
> URL: https://issues.jboss.org/browse/RF-11469
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-input
> Affects Versions: 4.0.0.Final
> Reporter: u j
> Fix For: 5-Tracking
>
>
> A bean parameter in the autocomplete method is not resolved if the
> rich:autocomplete is part of a ui:include.
> {code}
> <ui:include src="/searchlocation.xhtml">
> <ui:param name="bean" value="#{searchBean}" />
> </ui:include>
> {code}
> searchlocation.xhtml contains:
> {code}
> <rich:autocomplete id="cityName" mode="ajax" value="#{bean.cityName}"
> autocompleteMethod="#{bean.suggestCities}" />
> {code}
> The value binding works, but the binding in the autocompleteMethod gives:
> {code}
> 15:26:15,809 SEVERE [org.richfaces.log.Renderkit]
> (ajp-127.0.0.1-127.0.0.1-8009-1) Target Unreachable, identifier 'bean'
> resolved to null: javax.el.PropertyNotFoundException: Target Unreachable,
> identifier 'bean' resolved to null
> at org.apache.el.parser.AstValue.getTarget(AstValue.java:75)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at org.apache.el.parser.AstValue.invoke(AstValue.java:183)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:43)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
> at
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:56)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
> at
> org.richfaces.renderkit.AutocompleteRendererBase.getItems(AutocompleteRendererBase.java:105)
> [richfaces-components-ui-4.0.0-20110322.220419-243.jar:]
> at
> org.richfaces.renderkit.AutocompleteRendererBase.encodeItems(AutocompleteRendererBase.java:160)
> [richfaces-components-ui-4.0.0-20110322.220419-243.jar:]
> at
> org.richfaces.renderkit.AutocompleteRendererBase.encodeMetaComponent(AutocompleteRendererBase.java:271)
> [richfaces-components-ui-4.0.0-20110322.220419-243.jar:]
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues