java - how to show jsp in response to an ajax call to a servlet -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 7 जवाब

    मैं खोज पैरामीटर भेज रहा हूँ एजेक्स का उपयोग कर एक सर्भर सर्विसलेट और वह सबलेट डेटाबेस खोज रहा है। अब मैं SearchResults.jsp के अनुरोध को प्रेषित कर रहा हूं जहां मैं परिणाम दिखा रहा हूं।

      स्ट्रिंग अगलीजिप = "/s/SearchResults.jsp"; अनुरोध डिस्पैचर डिस्पैचर = getServletContext ()। GetRequestDispatcher (nextJSP); डिस्पैचर। अग्रेषित (अनुरोध, प्रतिक्रिया);   

    समस्या यह है कि मैं एजेक्स कॉल के जवाब में पूर्ण जेएसपी प्राप्त कर रहा हूं, लेकिन मुझे एजेक्स कॉल के बाद परिणामों के साथ SearchResults.jsp पृष्ठ खोलना है।

    इसके लिए JSP का उपयोग न करें यह केवल HTML सामान के लिए अच्छा है बस सर्वलेट को JSON या XML पर वापस जाने दें और इसे जेएस पक्ष में संसाधित करें। मान लीजिए कि आप उत्पादों के लिए खोज करना चाहते हैं और उत्पाद वर्ग के गुण नाम , विवरण और मूल्य के लिए खोज करना चाहते हैं। कोड> जिसे आप एक तालिका में दिखाना चाहते हैं।

    products.jsp

      & lt;! DOCTYPE html & gt; & Lt; html lang = "en" & gt; & Lt; शीर्ष & gt; & Lt; title & gt; SO प्रश्न 5336889 & lt; / title & gt; & Lt; script src = "http://code.jquery.com/jquery-latest.min.js" & gt; & lt; / स्क्रिप्ट & gt; & LT; स्क्रिप्ट & gt; $ (Document) .ready (function () {$ ('# search')। Submit (function () {$ .get (this.action, $ (this)। Serialize (), फ़ंक्शन (products) {var $ table = $ ('& Lt; तालिका & gt;')। ऐडेंड ($ ('# परिणाम')); $ .ईईच (उत्पाद, फ़ंक्शन (इंडेक्स, उत्पाद) {var $ tr = $ ('& lt; tr & gt;')। AppendTo ($ Table); $ ('& lt; td & gt;')। पाठ (product.name) .appendTo ($ tr); $ ('& lt; td & gt;')। पाठ (product.description) .appendTo ($ tr) ; $ ('& Lt; td & gt;')। पाठ (product.price) .appendTo ($ tr);})}}};});}); & Lt; / स्क्रिप्ट & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt; फ़ॉर्म आईडी = "खोज" कार्रवाई = "उत्पाद" & gt; खोज उत्पादों: & lt; input name = "query" / & gt; & Lt; इनपुट प्रकार = "सबमिट करें" / & gt; & Lt; / प्रपत्र & gt; & Lt; div id = "परिणाम" & gt; & lt; / div & gt; & Lt; / body & gt; & Lt; / html & gt;  / उत्पादों :  
      @Override सुरक्षित शून्य doGet (HttpServletRequest अनुरोध, एचटीटीपीएसर्वलेट प्रतिसाद प्रतिक्रिया) सर्विसलेट एक्सपेशेशन फेंकता है, IOException {सूची & lt; उत्पाद & gt; Products = productDAO.find (request.getParameter ("क्वेरी")); response.setContentType ( "application / json"); response.setCharacterEncoding ( "UTF-8"); Response.getWriter ()। लिखना (नया जीएसएन ()। टोजसन (उत्पाद)); }   

    (जहां Gson है)

    यह भी देखें:
      < Li>


Comments