我想从grails 2.3.1执行flash应用程序。
我有一个问题从gsp加载我的swf文件的依赖项。
首先,我尝试将所有需要的文件放入我的web-app文件夹中,它就像一个魅力:
WAB-应用 CSS 闪 index.html // < - 用于我的第一次测试。 flash.swf 的prefs.xml 数据闪存文件夹 视频文件夹 TXT文件夹 XML文件夹 intro.swf 的main.swf 的prefs.xml static.xml当我去这个网址: http://localhost:8080/application-name/flash/index.html ,所有工作就像一个魅力。
所以我决定从控制器调用它:
class FrontFlashController { def openFlash() { } }这是我的gsp调用flash:
<g:applyLayout name="frontFlash"> <div id="flash-render"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1000" height="700" title="myFlash" > <param name="movie" value="flash/flash.swf" /> <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml"> <param name="quality" value="high" /> <embed src="/application-name/flash/flash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1000" height="700" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&module=module&maxchapter=6&gochapter=3&jeu=0&cumul=285"></embed> </object> </div> </g:applyLayout>当通过这个URL调用动作: http://localhost:8080/application-name/frontFlash/openFlash ,我的文件'flash.swf'被正确加载但没有他的依赖。
这是我的firebug堆栈:
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/static.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/textes/default_en.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/prefs.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/intro.swf" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/main.swf"似乎grails正在直接查看我的文件夹视图而不是swf文件夹。
我该如何解决?
更多,后来我想在我的grails应用程序之外链接swf ressource,我该怎么做?
施奈特
I want to execute a flash application from grails 2.3.1.
I have a probleme loading my swf file's dependencies from a gsp.
Firstly, I tried to put all file needed into my web-app folder, and it worked like a charm :
wab-app css flash index.html // <- Use for my first test. flash.swf prefs.xml data-flash-folder video-folder txt-folder xml-folder intro.swf main.swf prefs.xml static.xmlWhen I go to this url : http://localhost:8080/application-name/flash/index.html, all work like a charm.
So I decided to call it from a controller :
class FrontFlashController { def openFlash() { } }Here is my gsp calling flash :
<g:applyLayout name="frontFlash"> <div id="flash-render"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1000" height="700" title="myFlash" > <param name="movie" value="flash/flash.swf" /> <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml"> <param name="quality" value="high" /> <embed src="/application-name/flash/flash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1000" height="700" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&module=module&maxchapter=6&gochapter=3&jeu=0&cumul=285"></embed> </object> </div> </g:applyLayout>When calling the action by this url : http://localhost:8080/application-name/frontFlash/openFlash, my file 'flash.swf' is correctly loaded but none of his dependencies.
Here my firebug stack :
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/static.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/textes/default_en.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/prefs.xml" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/intro.swf" "NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/main.swf"Seems to grails is looking directly into my folder view instead of swf file folder.
How can I fix it ?
More, later I want to link swf ressource outside of my grails application, how can I do that ?
Snite
最满意答案
尝试在src使用g.createLinkTo ,比如
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" title="myFlash" > <param name="movie" value="flash/flash.swf" /> <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml"> <param name="quality" value="high" /> <embed src="${g.createLinkTo(dir: 'flash', file: 'flash.swf')}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&module=module&maxchapter=6&gochapter=3&jeu=0&cumul=285"></embed> </object>I fix the problem adding <base href="/application-name/flash/"> into my head.
Here my final version of openFlash.gsp :
<!DOCTYPE html> <html lang="en-US"> <head> <title>FLASH</title> <base href="/application-name/flash/"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript"> swfobject.registerObject("myId", "9.0.0", "expressInstall.swf"); </script> </head> <body> <div> <g:if test="${flash}"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1000" height="700" title="Module"> <param name="movie" value="flash.swf" /> <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml"> <param name="quality" value="high" /> <embed src="${g.createLinkTo(dir: 'flash', file: 'flash.swf')}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1000" height="700" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&maxchapitre=6&gochapitre=3&jeu=0&cumul=285"></embed> </object> </g:if> <g:else> <g:if test="${flash.error}"> <br /> <div class="alert alert-error">${flash.error}</div> </g:if> </g:else> </div> </body> </html>更多推荐
swf,flash,xml,http,电脑培训,计算机培训,IT培训"/> <meta name="descriptio
发布评论