मैं संभव के रूप में संक्षिप्त होने की कोशिश करेंगे, यहाँ मेरे साथ रहना कृपयाक्या कोई बटन क्लिक करते समय एक संपूर्ण वेब फ़ॉर्म नहीं भेजने का कोई तरीका है?
"A.jsf" -> प्रबंधित सेम: सेम "# {bean.list}": हमें ले जाएगा
B.jsf को <p:growl id="msgs" showDetail="true"/>
<h:form id="myform1" enctype="multipart/form-data">
<p:panel header="Upload" style="font-size: 11px;">
<h:panelGrid columns="2" cellpadding="10">
<h:outputLabel value="Drawing:" />
<p:fileUpload fileUploadListener="#{bean.handleFileUpload}" update="msgs" allowTypes="*.*;"/>
</h:panelGrid>
<p:commandButton ajax="false" immediate="true" id="back" value="Back" action="#{bean.list}"/>
<p:commandButton ajax="false" id="persist" value="Persist" action="#{bean.handleRevision}" />
</p:panel>
</h:form>
फिर handleFileUpload()
if(!upload){
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error", "You do not have permission to upload.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
...
"B.jsf" -> प्रबंधित सेम:
...
<p:growl id="msgs" showDetail="true"/>
...
bean2 10
जब मैं अपलोड पर क्लिक करता हूं, तो यह मुझे एक उग्र त्रुटि संदेश देता है "आपको अपलोड करने की अनुमति नहीं है।", जो अच्छा है। लेकिन फिर जब मैं "बैक" पर क्लिक करता हूं, जो मुझे बीजेएसएफ ले जाएगा, तो मुझे उभरने वाला संदेश दिखाई देता है "आपको अपलोड करने की अनुमति नहीं है।" फिर। ऐसा प्रतीत होता है कि जब मैं "बैक" पर क्लिक करता हूं, तो मैं अपलोड करने के लिए अन्य फॉर्म अनुरोध भेजता हूं, जिसके बाद उसी त्रुटि संदेश उत्पन्न होता है, जिसे बीजेएसएफ पर प्रदर्शित किया जाता है। "बैक" बटन को खाली फॉर्म में डालने के अलावा, इसे ठीक करने का कोई तरीका है, क्योंकि अब मेरे पास एक-दूसरे के शीर्ष पर एक दूसरे के शीर्ष पर खड़े दो बटन हैं। मैं यह करने के लिए प्रयास करें:
FacesContext.getCurrentInstance().addMessage("tom", msg);
उम्मीद है कि यह है, तो उसके बाद के गुर्राने आईडी = msgs साथ आईडी = "टॉम" के साथ घटक को भेजना होगा, लोड प्राप्त नहीं होता है, लेकिन कोई किस्मत। जब मैं Back
बटन पर क्लिक करता हूं तो upload
ध्वज को चालू करने का प्रयास करता हूं, लेकिन back
नेविगेशन को संभालने वाली विधि से पहले वेब फ़ॉर्म से अनुरोध किया जाता है। एक उत्कृष्ट समाधान की तरह लगता है डी
'पीजे' बटन पर 'AJAX = "false" 'को लेना' बैक 'बटन के' कमांड बटन 'को' fileUploadListener' को कॉल करने से रोकता है, हालांकि 'नेविगेशन प्रवाह' को भी रोकता है। नतीजतन, 'बैक' बटन मुझे कोई जगह नहीं लेता है, हालांकि, 'डिस्प्ले: इनलाइन' बहुत अच्छा काम करता है, इस पर बिताने के लिए बहुत बहुत धन्यवाद, बलुस –
आपका स्वागत है। – BalusC