0

私のアプリケーションでは、JSPページ内にXMLファイルのパスを準備する必要があります。私はこのような何かをしています:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml"  prefix="x" %>
<!DOCTYPE html>
<c:set var="abs_path" value='<%= getServletContext().getRealPath("").replace(" ", "%20").replace("\\", "/") %>' />

しかし、問題があります。次の例外が発生します。

org.apache.jasper.JasperException:JSPのクラスをコンパイルできません:

An error occurred at line: 6 in the jsp file: /users.jsp
String literal is not properly closed by a double-quote
3: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
4: <%@ taglib uri="http://java.sun.com/jsp/jstl/xml"  prefix="x" %>
5: <!DOCTYPE html>
6: <c:set var="abs_path" value='<%= getServletContext().getRealPath("").replace(" ", "%20").replace("\\", "/") %>' />

どうやらそれはこの部分に関するものです:.replace("\\", "/") それを削除しても、この例外は発生しません。

それはどういうことですか?手がかりがあればとてもありがたいです。

編集:

この変数は次のように使用します。

                <c:import url="file:/${abs_path}/MyProject/xml/users.xml" var="inputDoc" charEncoding="UTF-8" />

                <c:import url="xsl/users_list.xsl"
                        var="stylesheet" charEncoding="UTF-8" />

                <x:transform 
                     xml  = "${inputDoc}"
                     xslt = "${stylesheet}">
                </x:transform>
4

1 に答える 1

2
于 2012-06-10T06:14:08.180 に答える