我正在jsp文件中使用xlst来模板化xsl源:
<x:transform xslt="${xslt}" doc="${xmlString}"></x:transform>
可以正常工作,并在页面上显示预期的html。
但是,我需要将此结果作为变量访问以供进一步使用。我尝试将var="printData"
添加为属性,但是
<x:transform>
${printData}
,则会打印[#document: null]
。我试图寻找文档,但是我几乎找不到关于var的信息,对吗?问题出在其他地方吗?
答案 0 :(得分:0)
不是在转换中使用var
来解决,而是通过传递数据预转换并使用Java通过Java对其进行转换
public static String elaborateXml(String xslPath, String xml) {
try {
StringReader reader = new StringReader(xml);
StringWriter writer = new StringWriter();
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(
new javax.xml.transform.stream.StreamSource(xslPath));
transformer.transform(
new javax.xml.transform.stream.StreamSource(reader),
new javax.xml.transform.stream.StreamResult(writer));
String result = writer.toString();
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}