2011-02-02 67 views
0

我的Wicket Web應用程序包含一個Flash(* .swf)FLV播放器。以下代碼:什麼是JavaScript的資源文件夾的Java等價物?

final String script = "var swfVersionStr = '10.0.0';" 
    + "var xiSwfUrlStr = 'playerProductInstall.swf';" 
    + "var flashvars = {file:'/proj/resources/video.flv'};" 
    + "var params = {};" 
    + "params.wmode = 'transparent';" 
    + "params.quality = 'high';" 
    + "params.allowscriptaccess = 'sameDomain';" 
    + "params.allowfullscreen = 'true';" 
    + "var attributes = {};" 
    + "attributes.id = 'test';" 
    + "attributes.name = 'test';" 
    + "attributes.align = 'left';" 
    + "swfobject.embedSWF('/proj/resources/mediaplayer.swf', 'movieDiv', '640', '480', swfVersionStr, xiSwfUrlStr, flashvars, params, attributes);" 
    + "swfobject.createCSS('#flashContent', 'display:block;text-align:left;');"; 

add(new AbstractBehavior() { 
    public void renderHead(IHeaderResponse response) { 
     super.renderHead(response); 
     response.renderOnLoadJavascript(script); 
    } 
}); 

播放FLV。 swfobject.js文件被放置在我的服務器的資源文件夾中。當我在本地主機上測試它時,資源文件夾的絕對路徑是:/home/tapas/Desktop/proj/work/Jetty_0_0_0_0_80_proj.war__proj__qk44r3/webapp。現在,如何使用Java將文件保存在我的服務器的資源文件夾中? JavaScript將資源文件夾路徑標識爲/proj/resources/; Java中這個路徑的等價表達式是什麼?我曾嘗試過:

try{ 
    File file=new File("/proj/resources/joymaa.txt"); 
    if(file.exists()){ 
     System.out.println("File exists"); 
    }else{ 
     System.out.println("File does not exists"); 
    } 
}catch(Exception exception){ 
    System.out.println(exception.getMessage()); 
} 

這不顯示任何錯誤消息,但它顯示「文件不存在」。

+1

這有絕對無關的JavaScript。 – Pointy 2011-02-02 13:35:01

回答

0

試圖找出你的實際工作目錄是什麼......這可能有幫助:example 我不認爲java可以理解你的相對路徑,因爲它運行於不同於javascript的目錄。只是我的意見,但試試看。

1

我建議不要使用絕對文件路徑來查找WAR文件中的資源。

如果您的Java應用程序需要資源,最好將其放入CLASSPATH並使用來自servlet上下文的getResourceAsStream()以獲取InputStream以供讀取。

0

((WebApplication的)getApplication())。getServletContext()方法。getRealPath( 「/資源/視頻/ XML/video.xml」)

相關問題