[英]Not getting image in h:graphicImage in JSF
我的h:graphicImage有一個非常奇怪的錯誤
這段代碼可以正常工作:-
<h:graphicImage value="/Common/Images/#{item.templatePicName}"/>
而且這個不是:-
<h:graphicImage alt="${app:getCommonImagePath(item.templatePicName)}" value="${app:getCommonImagePath(item.templatePicName)}" />
它僅顯示alt值/Common/Images/Sunset.jpg,該值非常好,並且在第一種情況下可以使用。 那為什么在第二種情況下不起作用? 我的圖像沒有問題。 它們位於正確的目錄中。
這里的getCommonImagePath是我自定義的EL函數,其定義是:
package Common;
public final class AppDeployment {
private AppDeployment(){ //hide constructor
}
private static String commonImageFolderPath = "/Common/Images/";
public static String getCommonImagePath(String picName){
return commonImageFolderPath + picName;
}
}
使用JSF,您應該使用#{..}
而不是${..}
。
然后檢查所生成的HTML,以查看所生成圖像的src
指向什么。
然后檢查您的自定義標記是否正確映射。
如果您的應用程序類中具有連接所需屬性的屬性,則更容易解決。
即:
class App {
private String commonImagePath="/Common/Images/";
//getters and setters
}
然后,您將編寫:
<h:graphicImage alt="#{app.commonImagePath}#{item.templatePicName}" value="#{app.commonImagePath}#{item.templatePicName}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.