Основной настройки сервлета JSP Я знаком с ....Генерация HTML из JSP
RequestDispatcher dispatcher = request.getRequestDispatcher(resourceA.jsp);
dispatcher.forward(request, response);
Проблема в том, в дополнение к отправке ответа обратно в браузер (resourceA.jsp), мне нужно чтобы создать второй вывод HTML из ресурсаB.jsp, который, в свою очередь, будет отправлен по электронной почте или использован для создания pdf-документа.
Это не делать каждый раз, только в определенных условиях и по телефону
dispatcher.forward(request, response);
во второй раз я и IllegalArgumentException.
Я просто нужен способ в генерации HTML из JSP (в основном заменив $ {пар} значения) и возвращающегося HTML, как String, без кода состояния или заголовков, только HTML и A не имеют ничего общего с B , поэтому фильтры не будут работать.
------ переигровка к первому Ответ ----- комментарий к небольшой --- без форматирования
Я не могу понять, почему это так difficaled ....
весь магний находится там, чтобы объединить данные с содержимым HTML в
${par}
${par['key']}
<c:if test="${patBoolean}" >
<c:forEach var="pvar" varStatus="s_pvar" items="${parList}">
Я даже создал оболочку для маскировки getOutputStream() и getWriter(), создавая свой собственный PrintWriter
public class ResponseWrapper extends HttpServletResponseWrapper{
private PrintWriter printWriter;
public ResponseWrapper(HttpServletResponse response){
super(response);
}
public ServletOutputStream getOutputStream() throws java.io.IOException{....}
public PrintWriter getWriter() throws java.io.IOException {....}
}
в получении результата для resourceB.jsp, но проблема заключается в том dispatcher.forward (запрос, ответ) наборы isCommitted некоторые изделия в оригинальной HttpServletResponse.
Используете ли вы второй JSP для создания PDF-файла или отправки электронной почты от клиента или с сервера? Если вы пытаетесь сделать это с сервера, я должен признать, что JSP не являются правильным решением, механизм шаблонов лучше подходит для этой задачи. –
Я просто посмотрел на Velocity ... Посмотрите на код: #foreach ($ criterion in $ criteria) .... он имитирует jsp's, мне нужно изучить другой способ создания сценариев с отдельными страницами, использование кода ... это так просто jsp, attribute, html ... Я уже делаю это, и он работает для электронной почты и PDF, но второй диспетчер. Назад к браузеру, теперь единственная проблема. ... должно быть, и ДА, я делаю это со стороны SERVER. – nico
Я думаю, вам нужно искать два HTTP-запроса вместо одного, особенно если вам удалось получить работу электронной почты/PDF. Для того же запроса сервер просто не отвечает на два разных типа контента. Это может также помочь, если вы можете разработать свой вариант использования, так как немного сложно обернуть голову тем фактом, что электронное письмо генерируется сервером и отправляется клиенту. –