English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
عند إرسال بيانات XML عبر HTTP، من الضروري استخدام جافا سكريبت سيرفلت لمعالجة المستندات XML الداخلية والخارجية، مثل مستندات RSS. كمسند XML، إنه مجرد مجموعة من النصوص، وإنشاء مستند XML باستخدام جافا سكريبت سيرفلت لا يختلف عن إنشاء مستند HTML.
إرسال محتوى XML باستخدام جافا سكريبت سيرفلت يشبه إرسال محتوى HTML. الفرق الوحيد هو أنك بحاجة إلى تعيين خاصية السياق لصفحة إلى text/xml. لتحديد خاصية السياق، استخدم الأمر <%@page %>، مثل هذا:
<%@ page contentType="text/xml" %>
فيما يلي مثال على إرسال محتوى XML إلى المتصفح:
<%@ page contentType="text/xml" %> <books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> </books>
استخدم متصفحات مختلفة للوصول إلى هذا المثال واطلع على شجرة المستند التي يقدمها هذا المثال.
قبل استخدام جافا سكريبت سيرفلت لمعالجة XML، يجب عليك وضع مكتبتين متعلقتين بXML وXPath في مجلد <Tomcat Installation Directory>\lib:
XercesImpl.jar: في هذا المكان يمكنك التحميلhttp://www.apache.org/dist/xerces/j/
xalan.jar: في هذا المكان يمكنك التحميلhttp://archive.apache.org/dist/xml/xalan-j/
ملف books.xml:
<books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> <book> <name>Great Mistry</name> <author>NUHA</author> <price>2000</price> </book> </books>
ملف main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> <html> <head> <title>جافا سكريبت تيبل إكس إل</title> </head> <body> <h2>معلومات الكتب:</h2> <c:import var="bookInfo" url="http://localhost:8080/books.xml"/> <x:parse xml="${bookInfo}" var="output"/> <b>عنوان الكتاب الأول هو</b>: <x:out select="$output/books/book[1]/name"/> <br> <b>سعر الكتاب الثاني</b>: <x:out select="$output/books/book[2]/price"/> </body> </html>
زيارة http://localhost:8080/main.jsp، النتيجة التشغيلية كالتالي:
معلومات الكتب: عنوان الكتاب الأول هو: تاريخ بادام سعر الكتاب الثاني: 2000
هذا هو ملف XSLT النمط style.xsl:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0" <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="books"> <table border="1" width="100%"> <xsl:for-each select="book"> <tr> <td> <i><xsl:value-of select="name"/></i> </td> <td> <xsl:value-of select="author"/> </td> <td> <xsl:value-of select="price"/> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
هذا هو ملف main.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> <html> <head> <title>علامات x:transform JSTL</title> </head> <body> <h2>معلومات الكتب:</h2> <c:set var="xmltext"> <books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> <book> <name>Great Mistry</name> <author>NUHA</author> <price>2000</price> </book> </books> </c:set> <c:import url="http://localhost:8080/style.xsl" var="xslt"/> <x:transform xml="${xmltext}" xslt="${xslt}"/> </body> </html>
نتائج التنفيذ كالتالي:
للحصول على معلومات أكثر حول معالجة XML باستخدام JSTL، يرجى الرجوع إلىمكتبة العلامات القياسية JSP.