Java 内容流不显示图像(src=“RES”not“u FOUND”)
我想在内容流组件im my PrimeFaces Web App中显示的图像的源路径有问题 我的代码是:Java 内容流不显示图像(src=“RES”not“u FOUND”),java,jsf,primefaces,contentflow,Java,Jsf,Primefaces,Contentflow,我想在内容流组件im my PrimeFaces Web App中显示的图像的源路径有问题 我的代码是: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>SELT</title>
</h:head>
<h:body>
<br />
<p:layout style="min-width:400px;min-height:300px;" fullPage="true">
<p:layoutUnit position="north" header="Ipesoft SELT" >
<p:contentFlow value="#{galeryContainer.images}" var="image" >
<p:graphicImage name="#{image}" styleClass="content" />
<div class="caption">#{image}</div>
</p:contentFlow>
</p:layoutUnit>
<p:layoutUnit position="center" >
<h:form>
<h:panelGrid columns="2" cellpadding="5">
<h:outputText value="User: " />
<p:inputText id="userName" value="#{LoginContainer.userName}" />
<h:outputText value="Password: " />
<p:password id="feedback" value="#{LoginContainer.password}" feedback="false" />
</h:panelGrid>
</h:form>
<h:form>
<p:growl id="growl" life="2000" />
<p:commandButton value="Log in" update="growl" id="LoginButton" actionListener="#{loginContainer.LoginButtonAction(actionEvent)}" />
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
SELT
#{image}
ContentFlow背后的java类
package sk.ipesoft.selt.gui;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class GaleryContainer {
private List<String> images;
@PostConstruct
public void init() {
String resourcePath;
resourcePath = "/src/java/sk/ipesoft/selt/resources";
//resourcePath = this.getClass().getResource("\\src\\java\\sk\\ipesoft\\selt\\resources").toString();
System.out.println("resource path is:" +resourcePath);
images = new ArrayList<String>();
for (int i = 1; i <= 5; i++) {
images.add(resourcePath+"/obr"+i+".jpg");
}
}
public List<String> getImages() {
return images;
}
}
包sk.ipesoft.selt.gui;
导入java.util.ArrayList;
导入java.util.List;
导入javax.annotation.PostConstruct;
导入javax.faces.bean.ManagedBean;
@ManagedBean
公共类集装箱{
私有列表图像;
@施工后
公共void init(){
字符串资源路径;
resourcePath=“/src/java/sk/ipesoft/selt/resources”;
//resourcePath=this.getClass().getResource(\\src\\java\\sk\\ipesoft\\selt\\resources”).toString();
System.out.println(“资源路径为:“+resourcePath”);
images=newarraylist();
对于(int i=1;i请尝试将
中的
标记中的“name”替换为“value”,您是否尝试将图像放置在primefaces资产的源路径中?
这是这张图片中的一些东西
如果有3个文件夹,您将看到名为resources和的文件夹
1-js
2-图像
3-CSS
并尝试访问url图像
如果您做到了这一点,您可以通过以下方式访问您的图像、css和js:
<h:graphicImage value="#{resource['images:testi.JPG']}"/>
您还可以尝试打印URL,并尝试查看它们在浏览器中复制和粘贴方向的情况替换:
<p:graphicImage name="#{image}" styleClass="content" />
与:
埃德加
这就是所有的人。正确答案。用户手册也告诉primefaces 5.2使用value
<p:graphicImage name="#{image}" styleClass="content" />
<img src="http://www.jacksasylum.eu/ContentFlow/pics/pic#{image}" class="content"/>