Java与JavaScript的等价物是什么;s资源文件夹?
我的Wicket web应用程序包含一个Flash(*.swf)FLV播放器。以下代码:Java与JavaScript的等价物是什么;s资源文件夹?,java,wicket,Java,Wicket,我的Wicket web应用程序包含一个Flash(*.swf)FLV播放器。以下代码: final String script = "var swfVersionStr = '10.0.0';" + "var xiSwfUrlStr = 'playerProductInstall.swf';" + "var flashvars = {file:'/proj/resources/video.flv'};" + "var params = {};" + "param
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\u 0\u 0\u 0\u 80\u proj.war\u proj\u 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());
}
这不会显示任何错误消息,但会显示“文件不存在”。我建议不要使用绝对文件路径在WAR文件中查找资源
如果您的Java应用程序需要资源,最好将其放在类路径中,并使用servlet上下文中的
getResourceAsStream()
获取用于读取的InputStream。尝试找出Java的实际工作目录。。。这可能有助于:
我不认为java能够理解您的相对路径,因为它运行在与javascript不同的目录中。这只是我的观点,但请尝试一下。((WebApplication)getApplication()).getServletContext().getRealPath(“/resources/video/xml/video.xml”)这与JavaScript完全无关。