2012-03-09 9 views
5

मैं एकाधिक रूपों से मूल्यों को निष्पादित करना चाहता हूं, न कि केवल संलग्न फॉर्म। तो, मैं इस तरह कुछ करने में सक्षम होना चाहता हूं:जेएसएफ: एकाधिक रूपों के मूल्यों का निष्पादन

<h:form id="form1> 
    <h:inputText id="testinput1" value="#{testBean.input1}" /> 
</h:form> 

<h:form id="form2> 
    <h:inputText id="testinput2" value="#{testBean.input2}" /> 

    <h:commandButton value="Submit"> 
     <f:ajax execute=":form1 :form2"/> 
    </h:commandButton> 
</h:form> 

आप इसे कैसे हल करेंगे?

What is <f:ajax execute="@all"> really supposed to do? It POSTs only the enclosing form संबंधित प्रतीत होता है, लेकिन थोड़ा अलग समस्या को संबोधित करता है और यह इसे हल नहीं करता है (या यह)।

उत्तर

4

अजाक्स या नहीं, यह सादा जेएसएफ/एचटीएमएल के साथ संभव नहीं है। सभी इनपुट तत्व जिन्हें संसाधित करने की आवश्यकता है, उन्हें वास्तव में एक ही रूप में जाना होगा।

+1

@ मैट: यह सही है। हालांकि 'रेंडर' विशेषता में उनके लिए अंतर है। – BalusC

+0

स्पष्टीकरण के लिए धन्यवाद, बलुस। क्या यह प्रति विनिर्देश या एचटीएमएल/जेएस से बाधा है? –

+1

@ मैट: कल्पना ने कभी नहीं कहा है कि 'सभी' सभी रूपों को निष्पादित करेंगे। तकनीकी रूप से, यह भी असंभव है (हालांकि जेएस के लिए फॉर्म वैल्यू विलय करके इसे काम करना आसान है, लेकिन जेएसएफ में दृश्य स्थिति और क्रिया फॉर्म पर निर्भर है)। आईएमओ '@ all' कभी 'execute' के उपलब्ध मानों में से एक नहीं होना चाहिए था। यह कोई मूल्य नहीं जोड़ता है और केवल भ्रमित है। – BalusC

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