【Java开源代码栏目提醒】:网学会员鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“ApplyXSLT.java”一文,供大家参考学习
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
public class ApplyXSLT extends HttpServlet {
ServletConfig config;
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, java.net.MalformedURLException
{
PrintWriter out = response.getWriter();
try {
String source = request.getParameter("source");
int ix = source.lastIndexOf('/');
String xmlDoc = source.substring(0,ix);
String xslDoc = source.substring(ix);
TransformerFactory factory = TransformerFactory.newInstance();
ServletContext context = config.getServletContext();
Source xml = new StreamSource(context.getResourceAsStream(xmlDoc));
Source xsl = new StreamSource(context.getResourceAsStream(xslDoc));
Transformer transformer = factory.newTransformer(xsl);
out.println("<H2>Transformed Document</H2>");
transformer.transform(xml, new StreamResult(out));
showResource("XSL Stylesheet", xslDoc, out);
showResource("XML Source", xmlDoc, out);
}
catch (Exception ex) {
out.println(ex);
ex.printStackTrace(out);
}
out.close();
}
private void showResource(String heading, String name, PrintWriter out) throws IOException {
out.println("<H2>"+heading+"</H2>");
BufferedReader in = new BufferedReader(new InputStreamReader(config.getServletContext().getResourceAsStream(name)));
String buf;
while ((buf=in.readLine())!=null) {
StringTokenizer tok = new StringTokenizer(buf,"\t <>&'\"",true);
while (tok.hasMoreTokens()) {
String s = tok.nextToken();
if (s.length()==1)
{
switch (s.charAt(0)) {
case '\t': case ' ': out.print(" "); break;
case '<': out.print("<"); break;
case '>': out.print(">"); break;
case '&': out.print("&"); break;
case '\'': out.print("'"); break;
case '"': out.print("""); break;
default: out.print(s); break;
}
}
else
out.print(s);
}
out.println("<BR>");
}
out.print("<P>");
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
this.config = config;
}
}
上一篇:
AppLineInOut.java
下一篇:
试题库管理系统毕业论文