2012-01-09 2 views
1
내가

자바 메소드에서 JSP의 결과를 얻는 방법?

여기

것은 내가 IT-에게

    어떻게하고 있는가되어, 메뉴의 변경, 할인 및 이벤트, 생일 소원 등으로 등록 된 사용자에게 정기적으로 이메일을 보내드립니다 레스토랑 웹 포털 일하고

  1. HTML 서식으로 JSP 페이지를 만듭니다. 이 페이지는 페이지를 사용자 정의하는 특정 매개 변수를 승인합니다.
  2. MailDaemon이 db를 검색하고 특정 트리거가 발생하면 JSP에 GET 요청을합니다.
  3. 반환 된 JSP는 JavaMail API를 사용하여 전송되는 최종 메일 콘텐츠를 나타냅니다.

내 질문이 있습니다 -

  1. 내가 정말 GET 요청을해야합니까? 아니면 Daemon 클래스에서 직접 JSP 결과를 얻을 수 있습니까?
  2. 내 접근 방식에는 단점이 있습니까? 더 나은 솔루션 (구조적으로 말하기)
  3. 작업을위한 다른 템플릿 솔루션은 무엇입니까?
+0

내 JSP-> 이메일 코드 샘플을 참조하십시오. http://stackoverflow.com/a/20847683/527533 –

답변

2
  1. javax.servlet.ServletResponseWrapper에 원래의 응답을 포장하여 javax.servlet.RequestDispatcher#include를 사용하여 JSP에서 응답을 버퍼링하는 것이 가능
  2. 귀하의 접근 방식은 OK입니다 (경우 귀하의 MailDaemon에하는 서블릿이다). 다른 템플릿 엔진을 활용하는 것이 더 쉬울지라도.
  3. Apache Velocity 또는 FreeMarker. 이 두 가지는 웹에 연결되어 있지 않으므로 서블릿 컨테이너없이 쉽게 사용할 수 있습니다.
1

제대로 이해하면 JSP를 템플릿 엔진으로 사용하여 HTML 이메일 본문을 생성합니다. JSP를 계속 사용하려면 생성 된 HTML을 얻기 위해 GET 요청을하는 것보다 나은 해결책이 있다고 생각하지 않습니다.

그러나 Velocity 또는 FreeMarker과 같은 삽입 가능한 템플릿 엔진을 사용하여 메일 데몬에서 직접 HTML에 문자열을 생성 할 수도 있습니다.

관련 문제