关于如何通过JSP将XML的内容根据预先定义的XSL动态输出为HTML的页面形式?

blackparadise 2003-08-25 09:32:27
有一个动态生成的XML字符流,和一个对应的XSL文件,如何将其通过JSP动态的转换为HTML页面发布到浏览器?
对于XML形式文件发布有没有更好的解决方法,也希望可以告知一二。
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragonleon 2003-11-08
  • 打赏
  • 举报
回复
mark
blackparadise 2003-08-27
  • 打赏
  • 举报
回复
多谢小西!
blackparadise 2003-08-25
  • 打赏
  • 举报
回复
多谢两位,我先试一下。
zhaoxichao(小西) 的方法可能和我的思路比较一致。
我查阅其他资料的时候,看到其他人使用的是APACHE的一个TAGLIB库的方式解决这个问题,但是我没有在WEBLOGIC中调试成功,不知各位有没有这种解决的方案!!
再次感谢各位!!
zhaoxichao 2003-08-25
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=gb2312" errorPage="systemerror.jsp" %>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="javax.xml.parsers.*"%>
<%@ page import="java.io.*"%>
<%@ page import="javax.xml.transform.*"%>
<%@ page import="javax.xml.transform.stream.*"%>
<%
StringReader reader=new StringReader(你的xml);
StreamSource xml = new StreamSource(reader);
StreamSource xsl = new StreamSource(xsl文件路径);
StreamResult result = new StreamResult(out);

Transformer trans = TransformerFactory.newInstance().newTransformer(xsl);
//java.util.Properties properties = trans.getOutputProperties();
//trans.setOutputProperty(OutputKeys.ENCODING,"GB2312");
trans.setOutputProperty(OutputKeys.METHOD,"html");
trans.setOutputProperty(OutputKeys.VERSION,"4.0");
//trans.setOutputProperty("encoding","UTF-8");
trans.transform(xml, result);

%>
sgdb 2003-08-25
  • 打赏
  • 举报
回复
把字符流生成一个xml文件,然后在jsp里重定向,需要注意xsl的路径
zhaoxichao 2003-08-25
  • 打赏
  • 举报
回复
加上trans.setOutputProperty("encoding","UTF-8");试试
blackparadise 2003-08-25
  • 打赏
  • 举报
回复
遇到一个棘手的问题:中文支持好像不太好!
错误如下:java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence
换成英文就一切OK!
我把字符集转为GBK也不行!
高人,指点一下!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧