브라우저 리디렉션을 수행하지 마십시오. AJAX를 사용하여 결과를 표시하십시오.
따라서 하나의 zul 파일에는 두 개의 영역이 있으며 한 번은 기본적으로 숨겨져 있습니다. 버튼을 클릭하면 첫 번째 영역이 숨겨지고 두 번째 영역이 표시됩니다. 그들은 좋은 생각입니다 브라우저에서 액세스되지 않도록 내가/WEB-INF 아래에 포함 된 ZUL 파일을 넣어
<zk>
<zscript>
boolean showFirstZone = true;
</zscript>
<window visible="${showFirstZone}" id="firstZoneWindow">
This is first zone.
<include src="/WEB-INF/search/search-input.zul"/>
<button label="Switch To Results" onClick="secondZoneWindow.visible=true;firstZoneWindow.visible=false;" />
</window>
<window visible="${!showFirstZone}" id="secondZoneWindow" >
This is second zone.
<include src="/WEB-INF/search/search-result.zul"/>
</window>
</zk>
알 수 있습니다. 그렇게하면 시스템의 데스크톱을 정의하는 항목 페이지 만/WEB-INF 아래에 숨겨진 포함 된 부분을 재사용 할 수있는 사이트의 기본 폴더 (예 : 고객 용, 직원 용, 관리자 용)에 있습니다.
이론 : 브라우저 요청 새 페이지를 가지고 있고이 세션을 통해 일 관련 참조 있도록 당신이 그들을 잡아 JSP PHP로
/. ZK는 AJAX에서 업데이트 한 응용 프로그램을 의미하는 "단일 페이지 응용 프로그램"을 만드는 경향이있는 데스크톱 지향 프레임 워크입니다. 브라우저 리디렉션을 수행하면 AJAX 업데이트가 수행되지 않습니다. 당신은 모든 JS와 CSS의 리 페치와 AJAX를 통한 동적 업데이트보다 훨씬 덜 효율적인 zul 파일의 재평가를 강요합니다.
http://books.zkoss.org/wiki/ZK%20Developer%27s%20Reference/UI%20Composing/Component-based%20UI을 읽으면 새 URL을 열면 새 데스크톱이 생성됨을 나타냅니다. ZK는 실제로 body에 onunload 자바 스크립트 처리기를 html 페이지에 넣습니다. 사용자가 새 URL을 탐색 할 때 기존 AJAX 이벤트를 보내 최종 AJAX 이벤트를 보내도록 브라우저에 지시합니다. 따라서 사용자가 첫 번째 zul 페이지에서 이동할 때 ViewModel을 실제로 파기합니다. 브라우저가 이동하는 새 URL에 데이터가 표시되지 않는 이유는 다음과 같습니다. 그것은 완전히 새로운 ViewModel을 얻을 수있는 완전히 새로운 데스크탑으로, 사용자가 떠나가는 것과 전혀 상관이 없습니다.