Java 内容流不显示图像(src=“RES”not“u FOUND”)

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://

我想在内容流组件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://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"/>