2013-07-02 4 views
0

내 응용 프로그램에서 동일한 비즈니스 그룹 사이를 이동할 때 사용자가보기를 유지하고 페이지 일부를 리디렉션하지 않고 변경할 수있는 탐색 기술을 사용하고 있습니다. 그룹을 변경하면 응용 프로그램이 새 그룹 페이지로 리디렉션합니다.리디렉션 없음 탐색 문제

페이지가 마지막보기를 유지하므로 중복 된 구성 요소 ID가있는 no-redirect 기술 문제가 있습니다.

<ui:composition 
    template="/WEB-INF/includes/templates/page-template.xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ui="http://java.sun.com/jsf/facelets" > 
<ui:define name="page-content"> 
    <ui:include src="#{navigationModel.currentBean.xhtmlPath}"> 
    </ui:include> 
</ui:define> 

navigationModel 빈이 상기 필요한 부분 페이지의 경로를 변경하기위한 책임이있다.

부분 페이지의 구성 요소 ID를 변경하지 않는 방법이 있습니까? 내가 뭔가 잘못하고 있는거야?

참고 1 : ICEfaces의 사례 코드에서 동일한 코드를 사용하고 있습니다. 이 예제를 검토하여 질문을 명확히하고 왼쪽 메뉴에서 같은 그룹 항목과 다른 그룹 사이를 탐색하고 리디렉션 동작을 확인하십시오. http://icefaces-showcase.icesoft.org/showcase.jsf

참고 2 : ICEfaces 3.2에서 JSF 2를 사용하고 있습니다.

+0

당신이 말하는 어떤 예를 말할 수 없습니다. 링크가 하나를 가리 키지 않습니다. – Andy

+0

사이트를 열 때 왼쪽 메뉴에서 ace : dataTable을 클릭하면 그룹에서 다른 그룹으로 변경되기 때문에 리디렉션을 확인할 수 있습니다. 에이스 내에서 : datatable 하위 메뉴가 있습니다. any를 클릭하면 리디렉션없이 올바른 내용이 변경됩니다. – Ahmad

+0

같은 접근법을 사용할 때이 기술은 잘 작동하지만 문제는 동일한 구성 요소 ID를 가진 두 페이지가 있으면 코드에서 볼 수있는 것처럼 show case 예제의 경우와 다른 문제가 발생한다는 것입니다 거기에 포함되어 있습니다. 그래서 저는 뭔가를 놓치고 있다고 생각합니다. – Ahmad

답변

0

다른 페이지의 다른 페이지에서 dataTable을 다른 bean 속성에 바인딩했지만 bean 속성에 같은 이름을 사용했기 때문에 문제가 발생했습니다.

pageA.xhtml 
<ace:dataTable binding="#{pageABean.TableUC}"> 

pageB.xhtml 
<ace:dataTable binding="#{pageBBean.TableUC}"> 

pageBBean의 속성 이름을 TableUC 대신 TableUC1로 변경하면 문제가 해결됩니다.