2011-05-12 3 views
6

한 페이지에서 다른 페이지로 수동으로 전환해야하는 다중 페이지 응용 프로그램이 있습니다. 단일 페이지 응용 프로그램을 대상으로하므로 GWT에서 수행 할 수 있습니까? Google 코드 및 온라인 포럼을 통해 배우고 있지만 공통된 진입 점으로 연결되지 않은 다중 페이지가있는 응용 프로그램을 찾을 수 없습니다. 어떤 아이디어?gwt 다중 페이지 응용 프로그램

답변

9

GWT는 fragment identifier (FI)의 URL (http://www.yourhost.vom/main#pagename)을 통해 애플리케이션 내의 '페이지'를 지원합니다. 여기서 "pagename"은 앱의 "페이지"를 나타내는 조각 식별자입니다.

이 "페이지"(브라우저가 실제로 페이지를 다시로드하지 않으므로 GWT 앱은 그대로 유지됩니다), 전체 기록 지원을 가지며 북마크 할 수 있습니다.

참고 : 전체 GWT 문서 조각 식별자는 때로는 장소 토큰 또는 기록 토큰이라고도합니다.

  1. 호스트 페이지에 iframe을 추가하여 history support 사용 :

    <iframe src="javascript:''" 
         id="__gwt_historyFrame" 
         style="width:0;height:0;border:0"> 
    </iframe> 
    
  2. 가 ValueChangeHandler 등록을 할 때 FI (페이지) 변경을 통지합니다 : History.addValueChangeHandler(..). 이 핸들러 내에서 새 페이지를 표시하는 로직을 넣습니다. "# 편집/USER4"예 (#)없이 History.newItem("newpage")를 호출하여 특정 페이지

  3. 이동 심지어 하위 부분으로 프래그먼트 식별자를 나눔으로써 페이지를 "파라미터"를 전달할 수있다. 이 FI를 구문 분석하고 편집 페이지를 보여주는 코드를 호출하고 "user4"를 전달합니다. 모든 문자를 사용하여 FI를 "페이지"파트와 "매개 변수"파트로 나눌 수 있습니다 (여기서 "/"사용). 실생활에서 이것을 보시려면 : Gmail에서 메시지를 열고 URL을보십시오.

+0

GWT 앱에 정적 페이지가 없습니다. 서버에서 만들 수는 있지만 GWT 앱을 종료해야합니다. 일반적인 앵커는 다음과 같이 수행됩니다. , 코드에서 "page2"를 처리하여 원하는 것을 보여줍니다. –

관련 문제