2012-09-05 14 views
0

common.pde不會在運行時發現:哪條路徑對於一個文件在JSF應用的XHTML畫布標籤

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應用程序的「網頁」文件夾。指定路徑的正確方法是什麼?

回答

1

HTML源代碼(由JSF生成)中的任何相對路徑(即不以http:///開頭的那些路徑)與當前請求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頁面位於子文件夾中,或者你已經在諸如/faces/*的前綴模式上映射了FacesServlet而不是諸如*.xhtml的後綴模式。