對於JSF2,使用<h:graphiImage>
與正常<img>
(就性能而言,例如解析/呈現時間,可能的http緩存(如果有)等)的優點是什麼?<h:graphicImage>優於<img>
回答
您沒有在<img>
元素上獲得server-sideattributes。
沒有安全和簡單的方法來設置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的黑客攻擊,並希望您記得更改生產部署的屬性。所以你最好還是使用<img src="#{resource['images:myImage.png']}"/>
或者更容易記住<h:graphicImage name="myImage.png" library="images"/>
。
你總是可以在圖像src之前放置上下文根目錄:''這既安全又簡單。 – Mohsen
啊,是的,沒有想到,這是奇怪的,因爲我自己做過一次。不過我認爲使用沒有EL的圖像組件比使用EL的img標籤更容易。 –
- 1. StructureMap中的優先級 - 對於<T>或AddRegistry <T>?
- 2. <a href="javascript:void(0);">優於<span>鏈接文本</span>
- 3. 優化<xsl:choose>許多<xsl:when>
- 4. 在bash中,<<<用於什麼?
- 5. 以優化的方式計算0(x,y)對於0 <= x <= 1且1 <y <2的C++
- 6. List <>循環優化
- 7. operator <<:std :: cout << i <<(i << 1);
- 8. 超載運算符<<用於ostream
- 9. <html>元素大於<body>
- 10. 重載算子<<對於數組
- 11. Ostream <<和運算符 - =對於類?
- 12. 運算符<<用於嵌套類
- 13. << <<超載
- 14. For Loop。爲什麼它小於<不小於或等於<=?
- 15. <picture><source>相對於寬度<picture>
- 16. xcode中:<br> 「msgpack ::運算<:用於建築x86_64的[COUT <<]
- 17. 使用'<< 1'而不是'* 2'有沒有優勢?
- 18. 優雅的做法Dictionary <Key,Collection <Value>>
- 19. XCODE:對於<UIFileUploadFallbackRootViewController
- 20. 關於<rich:tab>
- 21. 使用>>,>,> |,||,| <,<,<<,<<
- 22. 使用下面一行</p> <pre><code><jsp:forward page = "<%=request.getContextPath()%>/Welcome.do"/> </code></pre> <p>關於JSP轉發
- 23. 的Rails搞亂我的代碼以「<<<<<<< HEAD」
- 24. 什麼意思的符號在java中「<<<」「<< =」「<<」
- 25. <%$,<%@,<%=,<%#...這是怎麼回事?
- 26. <值暫時不可用,由於優化> CFArrayGetValueAtIndex
- 27. 使用String []優於列表<String>有什麼好處?
- 28. 當<ui:repeat>適用於X,但<c:forEach>適用於Y
- 29. PHP操作<<<
- 30. PHP表達<<< EOB
你的意思是像「渲染」?這可以通過ui:fragment來實現。沒有更特別的東西嗎?例如,當所有圖像都由單個servlet進行流式傳輸時,它是否會帶來任何優勢。 – Mohsen
是的,「渲染」就是這樣一個屬性。我不確定你在尋找什麼「特殊」 - 這裏沒有魔法。 –