0

运行时找不到 canvas 标签中的 common.pde:

xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>test</title>
    </h:head>
    <h:body>
        <h:outputScript library="js" name="processing-1.4.1.js" />
        <canvas data-processing-sources="common.pde"></canvas>

    </h:body>
</html>

=> common.pde 位于我的 JSF 2.0 应用程序的“Web pages”文件夹中。指定其路径的正确方法是什么?

4

1 回答 1

1

HTML 源代码(由 JSF 生成)中的任何相对路径(即不以http://or开头的路径)都相对于当前请求 URI(如您在浏览器的地址栏中看到的那样)。/

因此,如果当前请求 URI 是:

http://example.com/contextname/somefolder/page.xhtml

那么common.pde您所拥有的参考文献期望它位于:

http://example.com/contextname/somefolder/common.pde

/将您带到域根目录的领先地位,如/common.pde预期的那样:

http://example.com/common.pde

将一个文件夹向上移动../../common.pde期望它位于:

http://example.com/contextname/common.pde

位于子文件夹中,如canvas/common.pde预期它位于:

http://example.com/contextname/somefolder/canvas/common.pde

我认为现在有意义吗?我猜您的具体问题是由于您的 JSF 页面位于子文件夹中,或者您已将其映射到FacesServlet前缀模式/faces/*而不是后缀模式(如*.xhtml.

于 2012-09-05T17:09:41.830 回答