Java Websphere-Transformer.setParameter不工作

Java Websphere-Transformer.setParameter不工作,java,xml,xslt,websphere,transformer,Java,Xml,Xslt,Websphere,Transformer,我有一个XSLT,用于使用Java转换XML。当我在eclipse中运行并使用ApacheTomcat时,代码运行良好。但当我将ear文件部署到WebSphere时,该字段显示为空白。有人有想法吗 java变量“reportId”和“proposalId”的设置与我使用System.out.println()时相同,并且可以看到设置的值 Java代码 //使用工厂创建包含xsl文件的模板 Templates template = factory.newTemplates(new StreamSo

我有一个XSLT,用于使用Java转换XML。当我在eclipse中运行并使用ApacheTomcat时,代码运行良好。但当我将ear文件部署到WebSphere时,该字段显示为空白。有人有想法吗

java变量“reportId”和“proposalId”的设置与我使用System.out.println()时相同,并且可以看到设置的值

Java代码 //使用工厂创建包含xsl文件的模板

Templates template = factory.newTemplates(new StreamSource(is));              

// Use the template to create a transformer
Transformer xformer = template.newTransformer();
xformer.setParameter("reportId", reportId);
xformer.setParameter("proposalId", proposalId);


<xsl:param name="proposalId"/>
<xsl:param name="reportId"/>
Templates-template=factory.newTemplates(新StreamSource(is));
//使用模板创建转换器
Transformer xformer=template.newTransformer();
setParameter(“reportId”,reportId);
xformer.setParameter(“proposalId”,proposalId);
然后,我在XSLT中使用以下命令读取参数:

方案参考:
报告Id:

我发现模板标记中有参数。转换器无法设置模板级别变量的值。它只能在全局级别变量上进行设置。所以我的代码是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">

<xsl:param name="proposalId"/>
<xsl:param name="reportId"/>

</xsl:template>
</xsl:stylesheet>

但它应该是:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:param name="proposalId"/>
<xsl:param name="reportId"/>
<xsl:template match="/">

</xsl:template>
</xsl:stylesheet>