当播放应用程序部署为war时,资源文件(图像,css,js等)不会加载

时间:2012-07-05 09:35:56

标签: playframework

我正在使用游戏框架。我用play war [project] -o [war name]创建了我项目的战争。它成功但在运行图像时,css和js未加载,因为所有内容都被放入WEB-INF文件夹。

任何人都可以帮助我如何使用/创建战争以便它可以使用。

1 个答案:

答案 0 :(得分:0)

我在.css文件中的图像有类似的问题。战争部署时,图片是看不见的。以下是我的解决方案:

1.在路线文件中,你应该有这一行:

GET         /assets/*file       controllers.Assets.at(path="/public", file)

显示.css .js和图片的实际路径。

2.您应该以这种方式包含 .css 文件:

<link rel="stylesheet" type="text/css" media="screen" href="@routes.Assets.at("stylesheets/main.css")">

3. Java脚本应引用Play!模板如下:

<script type="text/javascript" src="@routes.Assets.at("javascripts/myscript.js")"></script>

4. .css中的图片应该使用相对路径引用,因为.css文件被放入assests \以及images:

.checked-partial {
    background-image: url("../images/partial.png");
}

5.之后,你可以像你提到的那样创造战争:玩战争

如果以这种方式配置.css,.js和图像,它将适用于Play!网络服务器以及与你的战争在其他网络服务器上。