=> Главная База Знаний Xslt Применение xslt с java server pages


Применение xslt с java server pages

Применение XSLT с Java Server Pages

Для работы с активными серверными страницами я использовал процессор MSXML фирмы Microsoft, но серверные страницы Java (Java Server Pages, JSP) не обязаны выполняться на серверах на платформе Windows, поэтому с JSP я не использую MSXML. Для выполнения XSLT-преобразования и отправки результатов в браузер клиента я воспользуюсь API процессора Xalan для работы с Java.

Например, при помощи Xalan можно создать

planets.html
на сервере как временный документ (этот код предполагает, что
planets.xml
и
planets.xsl
расположены в том же каталоге, что и сценарий JSP) таким образом:

<%@ page errorPage="error.jsp" language="java"

 contentType="text/html" import="org.apache.xalan.xslt.*;java.iо.*" %>

<%

 try {

  XSLTProcessor processor = XSLTProcessorFactory.getProcessor();

  processor.process(new XSLTInputSource("planets.xml"),

   new XSLTInputSource("planets.xsl"),

   new XSLTResultTarget("planets.html"));

 } catch(Exception e) {}

 .

 .

 .

Теперь все, что нужно сделать, — это открыть документ и отправить его обратно клиенту (листинг 10.13).

Листинг 10.13. XSLT на сервере с применением JSP

<%@ page errorPage="error.jsp" language="java"

 contentType="text/html" import="org.apache.xalan.xslt.*;java.iо.*" %>

<%

 try {

  XSLTProcessor processor = XSLTProcessorFactory.getProcessor();

  processor.process(new XSLTInputSource("planets.xml"),

   new XSLTInputSource("planets.xsl"),

   new XSLTResultTarget("planets.html"));

 } catch(Exception e) {}

 FileReader filereader = new FileReader("planets.html");

 BufferedReader bufferedreader = new BufferedReader(filereader);

 String instring;

 while((instring = bufferedreader.readLine()) != null) { %>

  <%= instring %>

 <% } 

 filereader.close();

 pw.close();

%>

Теперь все готово. Результаты применения этого сценария JSP показаны на 6.

Применение XSLT с Java Server Pages

6. Применение XSLT с JSP