Multiple events in the same p:ajax in PrimeFaces

前端 未结 2 1547
-上瘾入骨i
-上瘾入骨i 2021-01-17 16:31

Is it possible to have multiple events in the same p:ajax?

Something like this:



        
相关标签:
2条回答
  • 2021-01-17 17:02

    Faced with the same problem and came across this post. After trivial investigation, the "multiple events in the same p:ajax"-approach will not work. It is not supported at least for the tested Primefaces 5.3 version. An Exception like this will arise:

    javax.faces.view.facelets.TagException: <p:ajax> Event:firstEvent,secondEvent is not supported.
    

    Some source code from the AbstractBehaviorHandler class:

     ClientBehaviorHolder holder = (ClientBehaviorHolder) parent;
    
        String eventName = getEventName();
    
        if (null == eventName) {
            eventName = holder.getDefaultEventName();
            if (null == eventName) {
                throw new TagException(this.tag, "Event attribute could not be determined: "  + eventName);
            }
        } else {
            Collection<String> eventNames = holder.getEventNames();
            if (!eventNames.contains(eventName)) {
                throw new TagException(this.tag,  "Event:" + eventName + " is not supported.");
            }
        }
    
    0 讨论(0)
  • 2021-01-17 17:12

    I know it's later but I found and way to do this, You only need to put N tags of p:ajax, i.e:

    <p:calendar id="startDate" value="#{bean.date}"
        pattern="dd.MM.yyyy"
        validator="#{bean.checkDate}">
        <p:ajax update="dialog:endDate" event="dateSelect"  /> 
        <p:ajax update="dialog:endDate" event="keyup"  /> 
    </p:calendar>
    
    0 讨论(0)
提交回复
热议问题