1

我曾经在 Play 1.2.5 模板中使用以下代码声明我的静态资源:

<img src="@{'/public/images/team/myTeam.png'}"/>

我的问题是当指定的文件丢失时,视图崩溃......我怎样才能避免这个问题?我更喜欢显示缺少图像的视图,而不是根本没有视图!

我的上下文:我在 Google App Engine 上使用 Play 1.2.5。

4

2 回答 2

0

<img>是一个 HTML 标记,并具有一个alt属性,当图像不可用时,该属性可用于显示而不是图像。此外,如果您在调试模式下工作,您可能会看到由 play 框架生成的错误页面。尝试切换到 prod 模式并检查结果

于 2012-10-17T11:42:14.307 回答
0

虽然这不是一个直接的答案,但也许它会以某种方式帮助你。

一般来说,我会建议从应用程序中删除公共的静态资源,例如图像到某个 CDN(我不知道 Google 的引擎,但快速搜索告诉我人们会这样做),因此您将避免显示错误页面。(注意显示丢失文件的自定义错误页面没有意义,因为您不单独显示图像但带有<img>标签)

此外,CDN 可以为您带来更多收益,比如在离客户端更近的距离缓存文件,同时从另一个域的 CDN 获取文件,浏览器不会发送完整的冗余内容,如 cookie 等。最后您可以替换资源而无需重新- 部署应用程序。

于 2012-10-17T13:46:31.477 回答