2008-11-06 2 views
2

Java 응용 프로그램에서 AJAX를 사용할 때 좋은 디자인 패턴을 입력해야합니다. 권장 Java/AJAX 디자인 패턴?

간단한 시나리오를 고려하십시오

  1. 사용자가 DB에서 데이터를 가져 오기 위해 Java 메소드에 요청을 보내는 버튼을 클릭합니다.
  2. Java 오브젝트는 메소드에 의해 리턴되며 HTML 테이블로 변환해야합니다.
  3. HTML 테이블이 JSP에 표시됩니다.

우리가 현재하는 일 : JSP 페이지에

  1. , 사용자가 클릭 "사용자 표시를"버튼을
  2. 버튼하여 Prototype.js는 요청을 전달하는 "중개인"JSP를 호출을 사용 자바 메서드는 DB에서 데이터를 얻을 수 있습니다.
  3. 이 메소드는 Java 객체를 Java 객체를 HTML로 변환하는 "middleman"JSP로 반환합니다 (호출하는 JSP에서 AJAX 호출이 Java 객체를 직접 처리 할 수 ​​없으므로).
  4. 그러면 HTML이 호출 JSP의 div를 업데이트하는 프로토 타입 호출로 리턴됩니다.

우리의 우려는 다음과 같습니다

  1. 우리는 비즈니스/프리젠 테이션 로직의 분리를 유지하려는 우리의 Java 메소드 내부에 HTML/자바 스크립트 코드를 선호하지 않을 것이다.
  2. (1)을 염두에두고 "중개자"JSP로이를 수행하는 것이 좋습니다. 아니면 Java 객체를 XML/XSLT 형식으로 AJAX 요청으로 반환해야합니까?
  3. 위와 같은 방법으로 모든 브라우저에서 JavaScript가 거의 작동하지 않습니다.
  4. 다른 패키지 (DWR, GWT)를 살펴 보았지만 자바 스크립트에 너무 많은 의존성이 있거나 자바 클래스에 UI 구성 요소가 있어야했습니다.

위의 작업을 수행하는 방법이 정상입니까? 아니면 다른 바람직한 방법이 있습니까?

어떤 도움이나 생각이라도 고맙겠습니다.

감사합니다,

SP는

답변

2

잘 소리. 모델 구성 요소에서 뷰 구성 요소를 분리합니다. 호출이 서버 AJAX에 어떻게 전달되는지에 관계없이 모델과 상호 작용하는 컨트롤러 (서블릿 말)가 수신해야합니다. Java 클래스는 데이터베이스에서 데이터를 가져와 AJAX로 전달합니다. 뷰 렌더링을위한 JSP 페이지.

상용구 코드를 단순화 할 수있는 프레임 워크가 있지만 설명하는 디자인이 좋게 들립니다.

0

눈치는지 잘 모르겠지만 해결책과 빈센트가 제안한 것과는 중요한 차이점이 있습니다. 이것은 요청이 서블릿 (또는 컨트롤러 또는 Struts 액션 등)에 의해 처음 수신되어야한다는 것입니다.) "중개인"JSP보다는.

MVC는 JSP가 모델 데이터에서 뷰를 생성하는 데 정말로 사용해야한다는 것을 나타냅니다. 흐름 제어는 Java 코드에서 더 잘 처리됩니다.

+0

단, 나는 그것을 잡았다. .. 우리는 그 길로가는 것을 계획하고 있었다. 후속 조치 주셔서 감사합니다. 감사합니다, SP – spie