【问题标题】:IntelliJ Idea Java project with Flex, how to embed generated SWF带有 Flex 的 IntelliJ Idea Java 项目,如何嵌入生成的 SWF
【发布时间】:2011-08-29 19:12:08
【问题描述】:

抱歉这个可能很愚蠢的问题,我是 Java 新手。 我有一个支持 Flex 的简单 IntelliJ Java 项目。该项目包含 index.jsp 页面。并且在项目构建之后,.swf 被放置在 WEB-INF/classes 文件夹中。

生成的工件的目录结构是:

index.jsp
Web-inf
  web.xml
  classes
    main.swf

你能帮我吗,如何将 main.swf 嵌入到 index.jsp 中?如果简单 - 我如何访问位于 WEB-INF/classes 文件夹中的文件?

【问题讨论】:

  • 您应该调整您的构建以将 SWF 放在 WEB-INF 文件夹之外。

标签: java apache-flex intellij-idea


【解决方案1】:

为了补充 Constantiner 的评论,无论 IDE 是什么,您都可以将您的项目设置为使用此约定:

/web
    /flex - Where your Main.swf goes and anything it it needs (i.e. css, jpgs, mp3s, misc assets
    /META-INF - Where your context.xml goes, not accessible to clients
    /WEB-INF
        /classes - The directory where all your pre-compiled java .class files goes
        /flex - Where blazeDS xml config files go
        /lib - Where your java shared libraries go (i.e. jar's
        web.xml - Where you set up your container's listeners and servlet mappings
    index.jsp - Your .jsp will have access to /flex stuff... You could of course promote the contents of /flex to be directly under /web
    index.html - Hello World

【讨论】:

  • 谢谢。我已经配置了输出目录,现在一切都很好。
【解决方案2】:

要将 SWF 文件嵌入任何网页(包括从 JSP 文件生成的网页),有以下几种选择:

1) 使用 embed HTML 标签,如下所示:

<embed src="classes/main.swf" quality="high" 
    width="500" height="250" name="Sample" align="middle"
    play="true"
    loop="false"
    quality="high"
    allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
    pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>

YouTube 等网站使用这种方法使嵌入变得容易。

2) 使用像 SWFObject 这样的 JavaScript 库。 Flex 框架中的默认 HTML 模板使用它。基本上,这是一种判断正在显示哪个浏览器并选择嵌入 SWF 的最佳方式的好方法。

【讨论】:

  • 感谢您的回答,但无法从 classes/main.swf 或我尝试的其他地址访问 .swf 电影。那就是问题所在。可能最简单的方法是更改​​.swf文件的输出目录...但我相信有更好的方法。
  • “classes”目录是否可以通过网络访问?否则,您将永远无法在浏览器中加载 SWF。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-17
  • 2019-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多