我想使用XSLT和<x:transform>
标记生成JSP。但我的文件系统上没有XML文件,我无法导入它:<c:import url="./xml/MyXml.xml" var="xmldoc"/>
。它在Java代码中动态生成,并设置为String以请求属性。
我尝试这样做:
<div id="mydiv">
<c:set var="xmldoc">
<c:out value="${requestScope.someXmlString}"/>
</c:set>
<c:import url="./xsl/MyStylesheet.xsl" var="xsltdoc"/>
<x:transform xml="${xmldoc}" xslt="${xsltdoc}"/>
</div>
或
<div id="mydiv">
<c:set var="xmldoc" value="${requestScope.someXmlString}">
<c:import url="./xsl/MyStylesheet.xsl" var="xsltdoc"/>
<x:transform xml="${xmldoc}" xslt="${xsltdoc}"/>
</div>
但它不起作用。似乎<x:transform>
只需要一个xml文档(不是字符串)。我该怎么做?还是有另一种方法可以做到这一点吗?
答案 0 :(得分:0)
您无需尝试设置可直接在<x:transform>
代码中引用请求值的值。
<x:transform xml="${requestScope.someXmlString}" xslt="${xsltdoc}"/>
默认情况下,jstl使用请求范围。所以,如果你设置像request.setAttribute(&#34; someXmlString&#34;,xmlStr)的值;然后你可以直接打电话
<x:transform xml="${someXmlString}" xslt="${xsltdoc}"/>
两者都应该有用。