簡體   English   中英

在JSF中未在h:graphicImage中獲取圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM