%@ page language="java" contentType="text/html" %>
<%@ page import="javax.xml.transform.*"%>
<%@ page import="javax.xml.transform.stream.*"%>
JSP sample passing a parameter to XSL
<%! String FS = System.getProperty("file.separator"); %>
<%
/**
* This JSP uses PMA to set param1 in the
* foo.xsl stylesheet before using the
* stylesheet to transform foo.xml
* and outputing the result.
*
* Invoke the jsp from the appropriate
* context for your servlet/jsp server.
* For example: http://localhost:8080/samples/jspSample.jsp?PMA=HellowWorld!&XML=foo.xml&XSL=foo.xsl
* This example assumes that foo.xsl and foo.xml
* are in the same directory.
* Output should be Hello (from foo.xsml) and HelloWorld!
* (value of param1 in foo.xsl).
*@author Paul Campbell seapwc@halcyon.com
*@version $Id$
*/
String paramValue = request.getParameter("PMA");
String xmlFile = request.getParameter("XML");
String xslFile = request.getParameter("XSL");
// get the real path for xml and xsl files;
String ctx = getServletContext().getRealPath("") + FS;
xslFile = ctx + xslFile;
xmlFile = ctx + xmlFile;
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer =
tFactory.newTransformer(new StreamSource(xslFile));
transformer.setParameter("param1", paramValue);
transformer.transform(
new StreamSource(xmlFile), new StreamResult(out));
%>