2013-02-08 5 views
2

GWT 웹 응용 프로그램에서는 모든 것을 제거하고 응용 프로그램이 중지되었다는 큰 경고를 표시하는 상태가됩니다.GWT 실행 중지/중지

우리는 그렇게 할 수있는 방법을 찾아 낼 수 없습니다. 우리가 기본적으로 필요한 것은 :

  • 힘 GWT는 모든 처리를 중지하고 비활성화되기 위해 등록 된 모든 이벤트 기존의 RPC 메시지를
  • 힘을 중단
  • 분명 하나의 설정 페이지
  • 에서 볼 수있는 모든 내용 단락/텍스트

요약하면 DOM 전체를 삭제하고 단락을 추가하려고합니다.

우리는

RootPanel.get().clear() 

의 다양한 조합을 시도했지만 우리가 달성하고자하는 일을 할 신뢰할 수있는 방법을 찾을 수 없습니다. 어떤 아이디어로 그렇게 할 수 있습니까?

+0

RootPanel.get(). clear(); RootPanel.get(). add (warningMessageWidget); while (true); – jusio

+0

'while (true)'는 브라우저가 앱을 종료하기 전까지 전체 브라우저 스레드를 잠급니다. 일부 브라우저에서는 앱이 실행되는 탭뿐만 아니라 모든 탭이 중지됩니다. –

+0

페이지를 새 콘텐츠로 다시로드 하시겠습니까? –

답변

0

응용 프로그램을로드 할 때 쿠키에 정보 또는 플래그를 저장하십시오. 쿠키가 설정되었는지 여부를 확인하고, 메시지가 표시되도록 설정되었거나 응용 프로그램을로드합니다. 이제 응용 프로그램을 완전히 중지하고 싶을 때마다 쿠키를 설정하고 응용 프로그램을 다시로드하십시오.

+0

죄송합니다, 제 질문에 대해 오해하셨습니다. 내 앱이 멈추어야한다는 것을 어떻게 알지는 못한다. 나는 단지 exit (0);이라고 말하기위한 GWT 방법을 찾고있다. ... – Sebi

1

우선 서버 활동을 수행해야합니다. 응용 프로그램을 강력하게 만드는 좋은 방법입니다. 균일하게하려면 서비스 구현에 대한 요청에 대해 적절한 예외를 적용하여 응답해야합니다. 예를 들어 사용자가 응용 프로그램에 액세스 할 수있는 권한을 제거 할 때 발생하는 상황 인 경우 relogin 또는 기타 승인 된 작업을 제외한 모든 요청에 ​​대해 일종의 보안 예외가 발생합니다.

모든 서비스 방법에서 수동으로 처리하거나 필터를 처리 할 수 ​​있습니다. Spring Security와 같은 프레임 워크를 사용하면 보안 필터를 쉽게 구성 할 수 있습니다.

서버 측에서는 UI가 서버의 보안 계층을 통과 할 수 없다는 것을 확인한 후에 UI를 변경할 수 있습니다. 멋진 화면 차단 화면을 만드는 데는 여러 가지 방법이 있습니다.

일반적으로 콘텐츠 작성을 위해 코드에서 다음을 수행하고 clear() 메서드를 사용하여 뷰포트에서 뷰포트 또는 항목을 제거 할 수 있습니다. 새로 고침이나 재 검증이 필요 없습니다.

Viewport viewport = new Viewport(); 
    viewport.setLayout(new FitLayout()); 
    viewport.add(new MainPanel()); 
    RootPanel.get().add(viewport); 

레이아웃이 확실하지 않습니다. 시나리오에 대한 코드 샘플을 제공 할 수 있다면 필요한 것을 수행하는 방법을 보여줄 수 있습니다. 내 예제에서는 잘 작동하기 때문에.

+0

내가 가지고있는 주된 문제는 이벤트 처리를 멈추고 모든 것을 지운 후에 새로운 것들이 추가된다는 것이다. .. – Sebi

+0

이벤트 처리를 중지하는 것은 절묘한 해결책이 아닙니다. 대신에이 상태의 이벤트를 무시하면됩니다. 또는 새 이벤트/데이터로 데이터 모델을 제공하는 것과 관계없이 데이터 모델의 연결을 끊을 수 있습니다. – ATrubka

1
Window.Location.replace("URL-OF-A-STATIC-HTML") 

자바 독 :

는 새와 현재의 URL을 대체합니다. 모든 GWT 주를 잃게됩니다. 브라우저 기록에서 현재 URL은 새로운 URL로 바뀝니다.

GWT 앱을 다시 활성화하려면 해당 HTML 페이지에 링크를 넣으십시오.

+0

그게 내가 지금 해왔 던 방식이야. 나는 어떤 종류의 오류 페이지로 넘어 간다. 그러나 이것은 서버 연결이있는 경우에만 가능합니다. 서버가 다운 된 상태에서 GWT 앱이이를 인식하고이를 사용자에게 알리고 싶다면 서버에서 검색해야하는 정적 페이지로 사용자를 보낼 기회가 없습니다. – Sebi

+0

그래, 무슨 뜻인지 알 겠어 ... URL-of-A-STATIC-HTML에 더 이상 접근 할 수 없을 수도 있니? 시작시 HTML5와 매니페스트 파일을 사용하여 클라이언트의 브라우저에서 지원하는 경우 오프라인으로 캐시 할 수 있습니다. – koma