You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2015/04/03 22:14:46 UTC
svn commit: r1671153 -
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java
Author: lu4242
Date: Fri Apr 3 20:14:46 2015
New Revision: 1671153
URL: http://svn.apache.org/r1671153
Log:
MYFACES-3233 f:ajax event - type="javax.el.ValueExpression (must evaluate to java.lang.String)" not supported (Thanks to Martin Koci for provide this patch)
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java?rev=1671153&r1=1671152&r2=1671153&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java Fri Apr 3 20:14:46 2015
@@ -316,7 +316,16 @@ public class AjaxHandler extends TagHand
}
else
{
- return _event.getValue();
+ if (_event.isLiteral())
+ {
+ return _event.getValue();
+ }
+ else
+ {
+ FaceletContext faceletContext = (FaceletContext) FacesContext.getCurrentInstance().
+ getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
+ return (String) _event.getValueExpression(faceletContext, String.class).getValue(faceletContext);
+ }
}
}
@@ -343,17 +352,13 @@ public class AjaxHandler extends TagHand
{
if (_event.isLiteral())
{
- eventName = getEventName();
+ eventName = _event.getValue();
}
else
{
eventName = (String) _event.getValueExpression(faceletContext, String.class).getValue(faceletContext);
}
}
- else
- {
- eventName = getEventName();
- }
if (eventName == null)
{
eventName = cvh.getDefaultEventName();