كيف تقرأ في ملف XML على موقع الويب عن بُعد باستخدام JSP؟

StackOverflow https://stackoverflow.com/questions/2840116

سؤال

أنا أستخدم Java Servlets و JSP في طلبي وأحتاج إلى قراءة ملف XML عن بُعد وتقديمه بشكل صحيح إلى HTML وعرضه على صفحة ويب ... ما هي التكنولوجيا المستخدمة لعملية القراءة؟ اقرأ محتويات ملف XML أو هناك بطريقة أخرى؟ وأيضًا ، إذا كنت أستخدم Servlet كوحدة تحكم و JSP كعرض عرض ، فما هي مسؤولية Servlet و JSP في هذه العملية؟ هل يجب أن تقرأ Servlet فقط ملف XML بالكامل ثم تمرير إخراج القراءة إلى JSP فقط الذي سيطبع فقط إنه ويجعل بشكل صحيح باستخدام XSL على سبيل المثال؟

آمل حقًا أن أسمع من أي شخص قد يساعد ،

مع أطيب التحيات

هل كانت مفيدة؟

المحلول

JSP ليس لديه مسؤولية هنا. ما عليك سوى تحويل XML في servlet باستخدام XSL واكتب نتائجها مباشرة إلى OutputStream من الاستجابة.

StreamSource xml = new StreamSource(new URL("http://external.com/file.xml").openStream());
StreamSource xsl = new StreamSource(new File("/path/to/file.xsl"));
StreamResult out = new StreamResult(response.getOutputStream());

try {
    Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
    transformer.transform(xml, out);
} catch (TransformerException e) {
    throw new ServletException("Transforming XML failed.", e);
}

لا تنسى ضبط Content-Type استخدام HttpServletResponse#setContentType(), ، وإلا فإن WebBrowser قد يتعامل معها كنص عادي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top