2009-04-25 4 views
4

이 질문은 내 머리 속에서 으로 "서블릿에서 AWT 컨트롤을 사용할 수 있습니까?", 그 주제에 대한 나의 모든 무지를 보여줄 것입니다.Java 사용자 정의 웹 컨트롤을 만드는 방법은 무엇입니까?

저는 자바 기술에 익숙하지 않지만 약간의 읽기 후에는 AWT 컨트롤이 OS GUI 요소를 직접 연결한다는 것을 이해하는 것처럼 보이므로 서블릿에서 JPanels, JButtons 등을 사용하거나 확장 할 방법이 없습니다. JSP로 삽입하고 브라우저가 해당 컨트롤을 렌더링하도록 할 수 있습니다 (대안은 아마도 JSP에 애플릿을 포함 할 수 있지만 그렇게하고 싶지는 않습니다).

JSP 및 서블릿을 사용하여 사용자 정의 재사용 가능한 웹 컨트롤을 작성하는 방법을 찾고 있습니다.

일반적으로 어떻게 이루어지며 일부 샘플/링크를 제공 할 수 있습니까?

편집 : 이것은 Google 애플리케이션 엔진에 제공되는 테스트 실행의 일부입니다. 따라서 Google Web Toolkit을 탐색하는 것이 타당 할 것입니다. 해당 지침의 모든 포인터도 잘 이해할 수 있습니다.

도움을 주셨습니다.

답변

4

AWT은 웹 사이트가 아닌 JSP, 서블릿 등이 살아있는 웹 사이트가 아닌 데스크톱에서 UI 렌더링의 OS 관련 부분입니다. 좀 더 구체적으로, Swing (UI 컴포넌트로 언급 한 JPanels, JButtons 등) 및 SWT과 같은 것들은 현재 AWT를 기반으로하며 UI를 렌더링하고 예상대로 작동하도록하기 위해 AWT를 기반으로합니다.

불행하게도이 모든 것은 AWT 기반 컴포넌트를 웹 페이지에서 사용할 수 없다는 것을 의미합니다. 웹 페이지는 UI의 일부가 렌더링되는 방식을 정확하게 결정하지 못하기 때문에 (일반적으로) 플랫폼에 의존하지 않기 때문입니다 웹 디자이너가 웹 디자이너가 100 % 격리하지 않고도 원하는 결과를 얻으려는 일을하기 위해 웹 브라우저에 일종의 호소로 간주되는 마크 업 더미가 있습니다. 최종 결과는 디자이너가 원했던 것입니다.

은 영리한 모델이기 때문에 당신은 이미 웹을 만들기 위해 그 역할을 다하기 위해 Google Web Toolkit 시도를 아는 것처럼, 자바의 웹 측 UI 창조의 스윙/AWT의 종류를 달성하기 위해 바퀴를 개혁의 훨씬 더처럼 보일가있었습니다 실제로 데스크톱 애플리케이션 인 것처럼 웹 페이지가 동작하도록하기 위해 필요한 자바 스크립트 Ajax를 자동화합니다. 이것에 대한 하나의 또 다른 프레임 워크는 내가 개인적으로 사용하지 않은 Tapestry이지만 일부 사람들도 괜찮은 선택이라고 생각합니다.

그리고 개인적으로는 Apache Wicket인데 자바 코드와 마크 업 사이를 완전히 구분할 수 있으며 스윙 UI 코드와도 매우 유사하게 동작합니다. 실제로 가장 간단한 것들을 위해 Swing의 UI 컴포넌트 클래스와 이름 충돌이 있습니다. 데스크탑 애플리케이션 UI 코딩에 익숙하다면 Wicket을 강력히 추천한다. Wicket은 지루하고 지루한 부분 (서블릿, URL 해석, 페이지 북마크 가능성, 보안 ...)을 추상화하고 비슷한 이벤트 중심 모델로 대체한다. 그러나 평등하지는 않음) 스윙의 EDT은 데스크톱 UI 마법이 정상적으로 일어날 곳입니다.

Wicket을 사용하면 원하는 위치에서 완전히 벗어날 수 있지만, POJO 웹 구성 요소 세트를 만들어서 어디서나 재사용 할 수 있으므로 요청한 것을 얻을 수 있습니다. 그러나 Wicket은 당신이 Java로 코딩하는 방법을 정말로 알고 있다고 가정하고 경고하기 쉬운 것들은 처음에는 지루할 수 있지만, 결국에는 가지고있는 것에 만족해야합니다.

+0

유용한 개요를 주셔서 감사합니다 :) – JohnIdol

1

JSP에서 사용자 정의 태그를 찾고 있습니다. 사용자 정의 태그는 재사용 가능한 코드 컴포넌트를 작성하여 JSP 페이지를 표시하는 방법입니다. struts2 framework 또는 display tags library에있는 것과 같이 아주 멋진 것들이 많이 있습니다.

하지만 새로운 기능으로 기존 기능을 직접 작성하거나 기존 기능을 확장 할 수 있습니다.

관련 문제