1

我有一个 Web 应用程序,我想在 jsp 中使用我的自定义 xsl 将 xml 转换为 html。

当我使用 altovaXMLSPY 测试 xml 和 xsl 时,它可以工作。

但是在jsp中,出现了问题。

该目录如下所示:

--root
   my.jsp
  --WEB-INF
    taglibs-xsl.tld
    --classes
      my.xml
      my.xsl

jsp 看起来像这样:

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<%@taglib uri="http://jakarta.apache.org/taglibs/xsl-1.0" prefix="xsl"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>

    <%@ page%>

    <title>my jsp</title>
    </head>

    <body>
        <p>
            <xsl:apply nameXml="WEB-INF/classes/my.xml" xsl="WEB-INF/classes/my.xsl" /> 
        </p>
    </body>
    </html>

错误是:

javax.servlet.jsp.JspException:缺少 bean 'WEB-INF/classes/my.xml'

4

1 回答 1

4

我不确定,但我猜 xsl:apply 请求获取 XML,

请求无法访问WEB-INF目录,

也许将您的 xml/xsl 文件移到 WEB-INF 目录之外,看看是否有帮助?

我也认为 nameXml 指的是会话变量,请改用 xml="/my.xml"

于 2012-05-04T13:38:28.147 回答