在运行时找不到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>
=&GT; common.pde位于我的JSF 2.0应用程序的“Web pages”文件夹中。指定路径的正确方法是什么?
答案 0 :(得分:1)
HTML源代码中的任何相对路径(即那些不以http://
或/
开头的)(由JSF生成)都与当前请求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
,预计会出现在:{/ p>
http://example.com/contextname/common.pde
与canvas/common.pde
中的子文件夹一样,希望它位于:
http://example.com/contextname/somefolder/canvas/common.pde
我认为它现在有意义吗?我猜您的具体问题是由于您的JSF页面位于子文件夹中,或者您已将FacesServlet
映射到/faces/*
等前缀模式而不是后缀模式(例如{{1} }}