2012-01-25 3 views
3

Google Web Toolkit v2.4를 사용하여 사용자 인터페이스를 만들려고합니다. 여러 가지 이유로 런타임시 서버의 인터페이스 내용을 지정해야합니다. 필자는 버튼에 동적 레이블이 필요하다는 것을 의미하는 것이 아니라 실행시에 전체 UI를 생성해야합니다.GWT 2.4를 사용하여 서버 측 동적으로 UI를 만드는 방법

대부분의 UI는 직설적 인 HTML로 지정할 수 있습니다. 그러나 나는 또한 Scrollpane과 같은 위젯을 원한다. 물론 나는 어떻게 든 버튼과 같은 것에 액션을 붙일 필요가있다.

com.google.gwt.user.client.ui.Button의 인스턴스를 만들고 RPC 호출을 통해 클라이언트에 반환하여 UI 서버 측을 만들려고했습니다. 그러나 Button 클래스는 직렬화 할 수 없습니다. (또한 패키지 이름은 이것이 클라이언트에만 있어야하는 객체라는 것을 알려줍니다.)

나는 UiBinder 템플릿을 즉석에서 생성하는 것을 고려했습니다. 그러나 UI 바인더 템플릿을 컴파일해야합니다.

이제 GWT 위젯을 가져와야하는 자리 표시 자 XML 요소를 사용하여 HTML을 클라이언트로 보냅니다. 클라이언트에서 DOM 메서드를 사용하여 GWT 위젯을 찾아서 바꿉니다. 그러나 나는이 시점에서 내가 멀리 떨어진 것처럼 느꼈다.

이렇게하려면 직선적 인 방법이 있어야하지만 느껴지지 않을 것 같습니다.

제안 사항?

+0

에 대한 * 클라이언트 측 환경을 링크 http://code.google.com/p/acris/wiki/DynamicUiBinder를 참조 할 수 있습니다. * 왜 * "서버의 인터페이스 내용을 지정 하시겠습니까?" 클라이언트에서 UI를 함께 사용하는 방법을 결정하는 데이터를 제공하기 위해 서버를 사용하지 않는 이유는 무엇입니까? –

+0

[서버가 GWT 개체를 만들어 클라이언트에 반환 할 수 있습니까?] (http://stackoverflow.com/questions/1811115/can-the-server-create-and-return-gwt-objects-to-the -client) –

+0

re : 왜 "서버의 인터페이스 내용을 지정 하시겠습니까?" 나는 재사용하기를 바라고있는 많은 기존 코드를 가지고있다.Java로 UI를 만들고 렌더링을 위해 Flash에 직렬화합니다. 그래서, 저는 기본적으로 Flash 대신 HTML을 통해 기존 UI를 사용할 수있게하려고합니다. –

답변

2

GWT는 이와 같은 것들을 지원하지 않습니다 (gwt가 완전히 없어 졌기 때문에). 그래서 당신은 당신의 자신의 프레임 워크를 구축 할 두 가지 선택,

을 가지고, 그래서 당신은, 클라이언트가 그것을 구문 분석 서버에서 클라이언트로 일부 레이아웃 페이지 데이터를 보낼 수 및 UI

또는

을 만들 것입니다 당신 기본적으로 원하는 것을 수행하는 Vaadin과 같은 다른 프레임 워크를 사용할 수도 있고, 클라이언트와 서버간에 코드를 쉽게 공유 할 수있는 일부 JavaScript UI Framework + Node.js의 조합을 사용할 수도 있습니다.

+0

확인을 클릭하십시오. 다른 툴킷을 사용하거나 새로운 프리젠 테이션 레이어 코드를 작성합니다. 막 다른 길을 걷고 있다는 것을 확인해 주셔서 감사합니다;) –

+1

고마워. 참고로 Vaadin은 처음에는 매우 유망 해 보였습니다. 그러나 Vaadin을 사용하면 CSS 속성을 직접 설정할 수 없으므로 스타일 시트에서 명명 된 스타일을 참조해야합니다. 그건 합리적이다. 대부분의 유스 케이스에는 확실하다. 그러나 저에게는 저의 다른 곳에서 정의한 색 구성표 등이 있습니다. .colorCECECE {color : #CECECE}와 같은 항목으로 스타일 시트를 만들어야합니다. 프레임 워크와 맞서고 싶지 않습니다. jQuery, 서버 생성 HTML 및 JSON 기반 RPC 레이어로 무엇을 할 수 있는지 살펴 보겠습니다. –

1

Vaadin을보아야합니다. 클라이언트 측 GWT를 생성하는 서버 측 제어.

0

저는 XForms를 찾고 있다고 생각합니다. XForms (http://www.w3.org/MarkUp/Forms/wiki/XForms_Implementations)의 여러 구현이 있으며 일부는 서버 측에서 작동하며 일부는 브라우저에서 작동합니다. 두 번째 유형 중 일부는 브라우저 플러그인, 플래시 또는 자바 스크립트로 작동하지만 내 favouite는 GWT와 함께 작동하도록 개발 된 EMC Formula XForms 엔진 (https://community.emc.com/docs/DOC-4345)입니다.

예가 필요한 경우 여기에 http://svn.yuppy.pl/projects/trunk/sample-gwt-xforms/입니다.

관련 문제