我曾经使用Play 1.2.5模板中的以下代码声明我的静态资源:
<img src="@{'/public/images/team/myTeam.png'}"/>
我的问题是当指定的文件丢失时,视图崩溃了......我怎样才能避免这个问题?我更喜欢显示缺少图像的视图而不是视图!
我的上下文:我在Google App Engine上使用Play 1.2.5。
答案 0 :(得分:0)
<img>
是一个HTML标记,其alt属性可用于在图像不可用时显示而不是图像。此外,如果您在调试模式下工作,您可能会看到由play框架生成的错误页面。尝试切换到prod模式并检查结果
答案 1 :(得分:0)
虽然这不是一个直接的答案,也许它会以某种方式帮助你。
一般情况下,我建议将公共静态资源(如应用程序中的图像)删除到某些CDN(我不知道Google的引擎,但快速搜索显示人们会这样做),多亏了这一点,您将避免显示错误页面。 (nota bene显示丢失文件的自定义错误页面没有任何意义,因为您不单独显示图像,但使用<img>
标记)
此外,CDN为您提供更多利润,例如在距离客户端更近的位置缓存文件,同时从另一个域中的CDN获取文件,浏览器不会发送完整的冗余内容,如cookie等。最后,您可以更换资源而无需需要重新部署应用程序。