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:03:31 UTC

svn commit: r1671146 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java

Author: lu4242
Date: Fri Apr  3 20:03:31 2015
New Revision: 1671146

URL: http://svn.apache.org/r1671146
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=1671146&r1=1671145&r2=1671146&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:03:31 2015
@@ -337,7 +337,23 @@ public class AjaxHandler extends TagHand
         // cast to a ClientBehaviorHolder
         ClientBehaviorHolder cvh = (ClientBehaviorHolder) parent;
         
-        String eventName = getEventName();
+        
+        String eventName = null;
+        if (_event != null)
+        {
+            if (_event.isLiteral())
+            {
+                eventName = getEventName();
+            }
+            else
+            {
+                eventName = (String) _event.getValueExpression(faceletContext, String.class).getValue(faceletContext);
+            }
+        }
+        else
+        {
+            eventName = getEventName();
+        }
         if (eventName == null)
         {
             eventName = cvh.getDefaultEventName();