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