Grails和swf应用程序(Grails and swf application)

编程入门 行业动态 更新时间:2024-10-26 14:31:17
Grails和swf应用程序(Grails and swf application)

我想从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.xml

When 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

本文发布于:2023-08-01 18:06:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1361279.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:应用程序   Grails   swf   application

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!