2011-08-17 2 views
2

GWT 응용 프로그램 내에서 URL을 변경하는 방법 :내가 index.html 파일 signup.html 페이지로 전환이 경우, 나는이 HTML 페이지 사이를 전환하려면 다음 코드를 사용하는 GWT 다중 프로젝트에 일하고 있어요

public static native void fireChangePage(String url)/*-{ 
     $wnd.location.href = url; 
}-*/; 

public void goToSignUpPage(boolean isDeployed) { 
    String url = (isDeployed == true ? "signup.html" : "signup.html?gwt.codesvr=127.0.0.1:9997"); 
     fireChangePage(url); 
} 

fireChangePage이 index.html의 EntryPoint에서 호출되면 오류 404가 발생합니다. 브라우저에서 URL을 수동으로 변경하면 다음과 같이됩니다. index.html? gwt.codesvr = 127.0.0.1 : 9997 to signup.html? gwt.codesvr = 127.0.0.1 : 9997이 작동하므로 문제는 기본 기능 fireChangePage.

기본 기능에 문제가있을 수 있습니까? 아니면 이것보다 나은 접근법이 있습니까?

답변

2

GWT 프로젝트 인 경우 HTML 페이지를 전환하는 대신 PlaceController를 사용하여 작업 영역을 전환해야합니다. 어쨌든 그렇게해야한다면 com.google.gwt.user.client.Window.Location 클래스를 사용하는 것이 좋습니다 (프레임 워크에서 제공되며 잘 작동합니다).

+0

실제로 Window.Location.replace (url)를 사용했지만 404 오류도 반환합니다. 사실, 내 HTML 객체에 대한 동작은 와 작동하지만 이 접근법은 "gwt app"에서 실제로 잘 보이지 않는 "하이퍼 링크"(파란 색)를 만듭니다. – xybrek

+0

그래서 위치가 변경되면 (Window.Location에 의해) 브라우저에 404 오류 코드가 표시되면 "enter"(브라우저에서 다시 시도하도록 요청)를 클릭하면 404 오류가 나타납니다. (수동으로 지정하면 올바른 페이지를 볼 수 있다고 말했으므로 입력 할 때 수동으로 지정할 때와 동일합니다). 나는 그것이 당신의 URL을 가진 무언가라고 확신한다 - 나는 Window.Location을 여러 번 사용했고 모든 것이 잘 작동했다. –

0

문서 경로에 슬래시를 추가하십시오 (예 : /signup.html).

관련 문제