Извлечение содержимого страницы JSP - PullRequest
0 голосов
/ 13 октября 2010

Я работаю над модулем Почтового API, где мне нужно разработать общую функциональность отправки писем с учетом различных функций в Приложении.

Существует одна предложенная функциональность, в которой модуль будет предоставлять метод, который наряду с некоторыми необходимыми параметрами будет принимать nane шаблона JSP. Ожидается, что это извлечет содержимое JSP, которое будет хорошо отформатированным почтовым шаблоном, и отправит почту.

Есть ли способ в JAVA, где я могу извлечь контент (HTML) из этой страницы JSP, чтобы я мог использовать этот контент HTML в Почте.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 13 октября 2010

У вас есть два пути, первый из которых немного короче:

  • используйте new URL("http://site.com/url/to/page.jsp").openConnection(), получите InputStream и прочитайте содержимое - это будет какесли ваш сервер отправляет запрос самому себе и получает результат

  • , используйте Filter и HttpServletResponseWrapper и возвращайте пользовательский Writer / OutputStream.Каждый раз, когда что-то записывается в записывающее устройство / поток, делегируйте это исходному объекту, а также записывайте это где-нибудь, где вы сможете прочитать это позже.Этого объяснения недостаточно, потому что это менее вероятно, что вам нужно, но если вы хотите пойти по этому пути, скажите мне.

Это, однако, не так, как обычносделанный.Для шаблонов электронной почты лучше использовать некоторые шаблоны, такие как Freemaker или Velocity .

1 голос
/ 13 октября 2010

Похоже, вы пытаетесь использовать JSP в качестве движка шаблонов для своей электронной почты, а это не то, что он не собирался делать.Существуют и другие технологии, более подходящие для того, что вам нужно, например Velocity и Freemarker.

Однако, если вы не можете использовать JSP, у вас есть два варианта: 1) Вы можете использовать описанный методBozho, по сути, подключиться к вашему собственному сайту и заставить его генерировать контент для вас 2) Вы можете написать JSP, скомпилировать его во время компиляции и включить сгенерированный файл сервлета в ваш генератор электронной почты и смоделировать входные данные для сервлета.API, который будет генерироваться сгенерированным JSP-сервлетом для извлечения контента из вашего скомпилированного JSP.

...