<%@ 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)); %>