我正在尝试使用PrimeFaces JSF组件,称为contentFlow
,此处证明:http://www.primefaces.org/showcase/ui/multimedia/multimedia/content.xhtentflow.xhtmlflow/P>
我在背豆中添加了两个图像。它们都可以在不使用contentFlow
的情况下显示它们,因此它们可用,并且在正确的位置。问题是contentFlow
仅显示当前选择的图像。预期的行为是,它也显示了所有其他图像。
我谷歌搜索了很多,还找到了PrimeFaces组件的文档来验证我的XHTML。我还更改了JSF日志级别以查看所有调试消息,但是JSF一直告诉我一切都很好。
除了该项目的配置外,我只做了表演所说的话。这是我设置的摘要:
- 我正在Windows X64上使用Apache Tomcat 8.0.39
- Firefox 50.0.2和Chrome版本55.0.2883.75 m(64位)显示出相同的结果(仅可见当前选择的图像)
- 我正在使用Java 8
-
,这些是项目的依赖项
<dependency> <groupId>org.primefaces</groupId> <artifactId>primefaces</artifactId> <version>6.0.RC4</version> </dependency> <dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.2.14</version> </dependency> <dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-impl</artifactId> <version>2.2.14</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency>
这是我的背豆:
package de.schuettec.jsfquestion.contentFlow;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class Images {
private List<String> images;
@PostConstruct
public void init() {
images = new ArrayList<String>();
images.add("img-01.png");
images.add("img-02.png");
}
public List<String> getImages() {
return images;
}
}
这是我的XHTML页面:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form>
<p:contentFlow value="#{images.images}" var="image">
<p:graphicImage name="/images/#{image}" styleClass="content" />
<div class="caption">#{image}</div>
</p:contentFlow>
</h:form>
</h:body>
</html>
我已经创建了一个最小的复制示例,可以通过github在此处获得https://github.com/schuettec/jsf-question。这是一个重现此问题的完整Maven项目。
如果JSF/PrimeFaces专家中的某人可以查看此问题,我将不胜感激。我喜欢JSF和PrimeFaces组件,并且真的想在这里了解什么问题。
预先感谢您!
您的代码正确。我认为这是一个错误或功能。
- 添加2个图片 ->显示1个图片
- 添加3个PCIS->显示3图片
- 添加4个图片 ->显示3个图片
- 添加5个图片 ->显示5个图片
您可以使用PrimeFaces的最终版本。
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.0</version>
</dependency>