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 回答