2009-04-24 54 views
0

我需要确定图像是否存在于JSP标记中,以便我可以显示缺省值(如果它不存在)。访问War根目录的最佳方法是什么,以便我可以检查图像是否存在?还是有更好的解决方案?如何访问WAR的根目录?

回答

1

ServletContext方法getResource可用于这样的功能。如果资源(图像)不存在,则此方法返回null。在这种情况下,可以显示默认图像。

注意,此方法返回的URL是作为一个<img>标签的“src”属性使用的URL。这很可能是一个file:jar:协议URL,在另一台主机上无效。在这个应用程序中,它的唯一测试是看看它是否是null,而不是实际上由JSP。

+0

唯一的问题是我们被迫使用的web框架隐藏了对ServletContext的任何访问。 – Joshua 2009-04-24 22:12:41

+0

真的吗?什么框架?明智的框架仍然通过将它们包装在某种抽象中来提供对应用程序,会话和请求范围的访问。如果你的框架真的很有限,你可以做些事情。 – erickson 2009-04-24 22:28:46

1

另请注意,不能保证Web容器已经爆炸了您的WAR文件,因此您应该避免在文件系统中偷看。

是否可以在部署时生成可用映像列表?