2016-12-04 1 views
1

렌더링하지 않습니다. 둘 다 contentFlow을 사용하지 않고도 표시 할 수 있으므로 사용할 수 있으며 올바른 위치에 있습니다. 문제는 contentFlow에 현재 선택된 이미지 만 표시된다는 것입니다. 예상되는 동작은 다른 모든 이미지도 표시한다는 것입니다.Primefaces ContentFlow 내가 여기 설명된다 <code>contentFlow</code>라는 Primefaces JSF 컴포넌트를 사용하기 위해 노력하고있어 전체 내용

Google 검색을 많이 사용하고 내 XHTML을 확인하기 위해 Primefaces 구성 요소의 설명서를 찾았습니다. 또한 모든 디버그 메시지를보기 위해 JSF 로그 수준을 변경했지만 JSF는 모든 것이 정상이라고 계속해서 알려줍니다.

나는 프로젝트의 구성을 제외하고 쇼케이스가 말하는 것 이상을 수행하지 못했습니다. 여기 내 설정을 요약 한 것입니다 :

  • 나는 윈도우 64에서 아파치 톰캣 8.0.39을 사용하고는
  • 파이어 폭스 50.0.2 및 크롬 버전 55.0.2883.75 m (64 비트) 동일한 결과를 보여주고있다 내가
  • 자바 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 컴포넌트를 좋아하고 무엇이 잘못 되었는가를 정말로 알고 싶다.

미리 감사드립니다.

답변

1

코드가 맞습니다. 버그 또는 기능이라고 생각합니다.

  • 2 개 사진 추가 -> 1은 PIC
  • 3 PCIS 추가 표시 -> 5 개 사진
을 표시 ->이
  • 5 개의 사진을 추가 3 개 사진을 도시한다 -> 3 개 사진
  • 4 개 사진을 추가 도시

    그리고 primefaces의 최종 버전을 사용할 수 있습니다.

    <dependency> 
         <groupId>org.primefaces</groupId> 
         <artifactId>primefaces</artifactId> 
         <version>6.0</version> 
        </dependency> 
    
  • +0

    이 정보를 제공해 주셔서 감사합니다! 목록에 이미지를 너무 적게 추가했습니다. 구성 요소의 동작은 매우 혼란 스럽습니다. 이것은 개념 증명이었고 몇 시간이 걸렸습니다. JSF를 구성하는 것이 내 잘못이라고 생각했기 때문에 .- – UNIQUEorn

    +0

    당신은 천만입니다. 그때 행운을 빌어 요. – jklee