我有一个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'
答案 0 :(得分:4)
我不确定,但我猜xsl:apply会发出获取XML的请求,
请求无法访问WEB-INF目录,
可能会将您的xml / xsl文件移到WEB-INF目录之外,看看是否有帮助?
我认为nameXml引用会话变量,使用xml =“/ my.xml”代替