दिलचस्प पोस्ट
कैसे जीसीसी चर-लंबाई सरणियों को लागू करता है? तत्वों में पॉलिमर साझा शैलियों एक .net ऑब्जेक्ट के आकार का पता लगाएं पार्स त्रुटि: वाक्यविन्यास त्रुटि, अप्रत्याशित T_FUNCTION पंक्ति 10? क्या एचटीएमएल छुपे हुए नियंत्रण में कोई घटना है? बदल या कुछ और की तरह? html में jquery लिंकिंग डाक अनुरोध कैसे भेजें? PHP में एक सीएसवी फ़ाइल कैसे अपलोड और पार्स करे प्रत्येक DStream को स्थायी तालिका में कैसे सहेज / डालें आईओएस में एक अलग स्थानीयकृत निबट मैन्युअल रूप से लोड कर रहा है जावा प्रोग्राम कैसे लिख सकता है जो एक जार फ़ाइल को निकाल सकता है और निर्दिष्ट डेटा (स्थान) में अपना डेटा संग्रहीत कर सकता है? रूट यूआरएल के लिए मैच और स्थिर संसाधनों की सेवा जावास्क्रिप्ट आईडी द्वारा ऑब्जेक्ट मर्ज करना मापदंडों के साथ जावास्क्रिप्ट इवेंट हैंडलर डब्ल्यूसीएफ त्रुटि "ऑब्जेक्ट ग्राफ़ में सीरियल या डिसेराइज किए जा सकने वाली वस्तुओं की अधिकतम संख्या '65536' है"

एकल एक्शन क्लास में एकाधिक सबमिट बटन परिदृश्य में क्लिक सबमिट बटन का पता कैसे लगाया जाता है?

मेरे पास एक जेस्प में एक रूप है दो सबमिट बटन हैं: "खोज" और "नया जोड़ें" बटन।

<s:form name="searchForm" action="employeeAction" method="post"> <s:textfield name="id" label="Employee ID"/> <s:textfield name="name" label="Employee Name"/> <s:submit value="Search"/> <s:submit value="Add New"/> </s:form> 

struts.xml

 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error"/> </global-exception-mappings> </package> <package name="example" namespace="/example" extends="default"> <action name="employeeAction" class="example.EmployeeAction"> <result name="search">/example/search.jsp</result> <result name="add" type="redirect">/example/add.jsp</result> </action> </package> </struts> 

स्ट्रट्स एक्शन क्लास में, हम जानते हैं कि केवल एक ही तरीका है जो http अनुरोध को संसाधित करता है, जो कि execute() विधि है।

मेरे अपेक्षित मामले में, जब मैंने खोज बटन पर क्लिक किया था, तो यह डेटा खोज और /example/search.jsp को डेटा प्रस्तुत /example/search.jsp , जब मैंने नया बटन /example/search.jsp क्लिक किया था, तो वह /example/add.jsp को पुनः निर्देशित करने /example/add.jsp पेज /example/add.jsp । हालांकि, क्लिक किए जाने पर दोनों बटन निष्पादित () विधि में जाएंगे तो मुझे पता होना चाहिए कि किस प्रकार पता लगाया जाए कि किस बटन को execute() विधि में क्लिक किया गया है।

परिदृश्य ऐसा दिखता है

 public class EmployeeAction extends ActionSupport { public String execute() throws Exception { //PSEUDOCODE //IF (submitButton is searchButton) // return doSearch(); //ELSE IF (submitButton is addNewButton) // return doAddNew(); return SUCCESS; } public String doSearch() throws Exception { //perform search logic here return "search"; } public String doAddNew() throws Exception { return "add"; } } 

Solutions Collecting From Web of "एकल एक्शन क्लास में एकाधिक सबमिट बटन परिदृश्य में क्लिक सबमिट बटन का पता कैसे लगाया जाता है?"

आप struts.xml फ़ाइल में दो क्रियाओं को परिभाषित कर सकते हैं और विभिन्न कार्यों http://struts.apache.org/docs/submit.html पर जमा करने के लिए <s:submit> tag का action विशेषता का उपयोग कर सकते हैं।

JSP में:

 <s:submit value="Search" action="searchEmployeeAction"/> <s:submit value="Add New" action="addEmployeeAction"/> 

Struts.xml में:

 <action name="addEmployeeAction" method="add" class="example.EmployeeAction"> <result>/example/add.jsp</result> </action> <action name="searchEmployeeAction" method="search" class="example.EmployeeAction"> <result>/example/search.jsp</result> </action> 

और आपकी कार्रवाई में दो public String विधियां add और search

एकाधिक सबमिट बटन http://struts.apache.org/docs/multiple-submit-buttons.html के बारे में पढ़ें।

अद्यतन करें

स्ट्रट्स 2 संस्करण 2.3.15.3 से प्रारंभ करने के लिए आपको स्ट्रट्स.मैपर। struts.mapper.action.prefix.enabledstruts.mapper.action.prefix.enabled स्थिरांक को सेट करने की आवश्यकता है ताकि action: लिए समर्थन को सक्षम किया जा सके action: उपसर्ग

अपने struts.xml फ़ाइल में रखें:

 <constant name="struts.mapper.action.prefix.enabled" value="true" /> 

अपने मॉडल परत में, 'बटन' नामक String संपत्ति को परिभाषित करें अब, अपने सबमिट बटन दोनों के लिए, name या property विशेषता को 'बटन' के रूप में निर्दिष्ट करें इसलिए, अपने execute() विधि में, गुण 'बटन' में, आप संबंधित मूल्य प्राप्त करेंगे।