2017-01-26 1 views
0

사이트 주체에 대한 요약을 포함하는 많은 JSF 페이지로 작업하고 있습니다. 대형 페이지에서는 요약이 다른 위치에서 반복됩니다. 그것은 요소를 정의하여 수행됩니다, 다음을 삽입 : 나중에요소의 정확한 사본을 재생성하지 않고 삽입하는 방법

<ui:define name="sommaire"> 
<ui:include src="/sommaire/sommaire.xhtml"> 
    <ui:param name="contrat" value="#{form.contrat}" /> 
</ui:include> 
</ui:define> 

과 몇 가지 다른 장소에서 :

<ui:insert name="sommaireContrat" /> 

문제 것은 : 요약이 자신의지지 콩과 논리, 모든 시간입니다 그것이 포함되면 로직이 다시 실행되고 html의 새로운 블록이 렌더링됩니다. 두 번째로 빈을 사용하지 않고 생성 된 컴포넌트의 복사본을 사용하는 태그가 있는지 궁금합니다. 포함 된 콘텐츠를 수정하지 않을 제안은 언제든지 공개됩니다.

+0

왜 이걸 원하니? 현재 어떻게 작동하는지에 대한 문제는 무엇입니까? – Kukeltje

+0

모든 삽입에 대해 @Kukeltje, 요약 용 백킹 빈은 표시된 정보 (예 : 소비 된 평균 등)를 다시 계산합니다. 처리 시간은 많지 않지만 눈에 띄고 불필요합니다. –

+0

그런 다음 계산 된 값을 '캐시'하지 않는 이유는 무엇입니까? 또는 시도해보십시오 [omnifaces cache] (http://showcase.omnifaces.org/components/cache) – Kukeltje

답변

1

Omnifaces cache은 PrimeFaces를 사용하지 않는 경우에 가장 적합합니다. Omnifaces 가입일

쇼케이스 :

<o:cache> 렌더링 컴포넌트 태그의 프래그먼트를 캐싱 할 수있다. 이 구성 요소가있는 페이지에 대한 첫 번째 요청은 이 태그를 캐시에 넣습니다. 그런 다음 PrimeFaces를 사용하는 경우

을 협의 할 처음에이 내용을 생성하는 데 사용 된 콩, 서비스, PrimeFaces cache를 백업, 후속 요청에 대한 캐시 된 콘텐츠에 직접 사용되지 않고 구성 요소 중 어느 것도 또한 당신을위한 옵션입니다. PrimeFaces 사이트에서

:

캐시 캐시 구성 요소는 초기 렌더링 후 글로벌 캐시에 컨텐츠를 캐싱하여 페이지로드 시간을 줄이기 위해 사용됩니다. 다양한 캐시 공급자는 ehcache 및 hazelcast와 같이 지원됩니다. 이 예에서 도구 모음 구성 요소가 캐시되고 출력이 캐시에서 검색됩니다.

몇 가지 차이점이 있습니다. 자신의 전체 설명서를 읽고 가장 적합한 것을 확인하십시오.

+0

JSF에는 실제 캐시가없는 PrimeFace가 포함되어 있지 않습니다. 내가하는 일에 가장 적합합니다. 고맙습니다. –

+0

흠 ... 그런 점에서 PrimeFaces와 Omnifaces 캐시는 전혀 다르지 않습니다. 그래서 당신이 정말로 의미하는 것을 이해할 수 없습니다. – Kukeltje

관련 문제