2012-08-31 13 views
7

मैं उत्सुक क्या क्रियान्वित ajax कॉल के इन दो तरीकों के बीच अंतर है कर रहा हूँ:JSF च: ajax श्रोता बनाम CommandButton कार्रवाई

<h:commandButton value="Submit" action="#{bean.action}"> 
    <f:ajax execute="@form" render="component"/> 
</h:commandButton> 

और

<h:commandButton value="Submit"> 
    <f:ajax listener="#{bean.action}" execute="@form" render="component"/> 
</h:commandButton> 

ऐसा लगता है कि लोगों को पहली बार उपयोग रास्ता अक्सर, लेकिन दूसरा काम ठीक से लगता है ...

उत्तर

13

पहला तरीका String परिणाम और दूसरा नहीं लौटाकर नेविगेशन के लिए अनुमति देता है। दूसरा तरीका क्लाइंट को जेएस अक्षम करने पर कुछ भी नहीं बुलाएगा, जबकि पहला तरीका gracefully degrades होगा। वास्तव में, पहली बार अधिक बार उपयोग किया जाता है।

दूसरा तरीका उन घटकों में एकमात्र तरीका है जिनके पास विशेषता नहीं है, जैसे <h:selectOneMenu> और इसी तरह।

संबंधित मुद्दे