1 16 19 20 23 package servlet; 24 import javax.xml.transform.TransformerFactory ; 26 import javax.xml.transform.Transformer ; 27 import javax.xml.transform.stream.StreamSource ; 28 import javax.xml.transform.stream.StreamResult ; 29 import javax.xml.transform.TransformerException ; 30 import javax.xml.transform.TransformerConfigurationException ; 31 32 import org.xml.sax.SAXException ; 34 35 import java.io.*; 37 import javax.servlet.*; 38 import javax.servlet.http.*; 39 40 public class UseStylesheetParamServlet extends HttpServlet { 41 42 43 46 public final static String FS = System.getProperty("file.separator"); 47 48 PrintWriter out; 49 String xslFile, xmlFile, paramValue; 50 public void doGet(HttpServletRequest req, 51 HttpServletResponse res) 52 throws ServletException, IOException { 53 try { 54 res.setContentType("text/html; charset=UTF-8"); 55 out = res.getWriter(); 56 57 paramValue = req.getParameter("PVAL"); 58 xmlFile = req.getParameter("XML"); 59 xslFile = req.getParameter("XSL"); 60 if (paramValue == null) { 61 out.println( 62 "<h1>No input for paramValue</h1>"); 63 return; 64 } 65 if ( xmlFile == null) { 66 out.println( 67 "<h1>No input for xmlFile</h1>"); 68 return; 69 } 70 if ( xslFile == null) { 71 out.println( 72 "<h1>No input for xslFile</h1>"); 73 return; 74 } 75 76 String ctx = getServletContext().getRealPath("") + FS; 78 xslFile = ctx + xslFile; 79 xmlFile = ctx + xmlFile; 80 81 TransformerFactory tFactory = 82 TransformerFactory.newInstance(); 83 Transformer transformer = 84 tFactory.newTransformer(new StreamSource (xslFile)); 85 86 transformer.setParameter("param1", paramValue); 88 transformer.transform(new StreamSource (xmlFile), 90 new StreamResult (out)); 91 } 92 catch (IOException e) { 93 e.printStackTrace(); 94 System.exit(-1); 95 } 96 catch (TransformerException e) { 97 e.printStackTrace(out); 98 return; 99 } 100 } 101 } 102 | Popular Tags |