<h:graphicimage>优于<img/> </h:graphicimage>的优点

时间:2011-10-02 19:02:07

标签: jsf-2 tags image

对于JSF2,使用<h:graphiImage>优于普通<img>(就性能而言,例如解析/渲染时间,可能的http缓存,如果有的话等等)有什么好处?

2 个答案:

答案 0 :(得分:1)

您在<img>元素上未获得server-side attributes

答案 1 :(得分:0)

没有安全简便的方法来为src属性设置绝对路径。这很重要,因为您可能正在从位于不同目录中的多个页面引用相同的图像。你想要保持相对位置的麻烦吗?当然,您可以使用<img src="#{resource['images:myImage.png']}"/>来获得安全的绝对路径。使用<h:graphicImage name="myImage.png" library="images"/>不是更容易吗?

关于“安全”的绝对路径是什么?

您可以将图像保留在通常的资源文件夹之外,并在这样的绝对路径中指定它们,例如:<img src="/myApp-web/faces/images/myImage.png"/>,这样就可以了。但是,当您想要部署应用程序时会发生什么?您希望自己的网址与http://www.mysite.com/faces/myPage.xhtml一样吗?当然不是。您希望将上下文根设置为服务器根目录。但是您不希望为生产部署更改所有img标记的麻烦,也不想要一些涉及从应用程序范围的bean获取基本URL并希望您记得更改属性的hack生产部署。因此,您最好使用<img src="#{resource['images:myImage.png']}"/>或更容易记住<h:graphicImage name="myImage.png" library="images"/>