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 に答える