title: Access HttpServletRequest and HttpServletResponse in a Thymeleaf dialect processor
body: <p>I'm trying to create a Thymeleaf dialect processor which performs a ServletDispatcher.include. I have extended the AbstractElementTagProcessor and overridden the doProcess method. The relevant code fragment is:</p>
  
  <pre><code>@Override
  protected void doProcess(final ITemplateContext context, final IProcessableElementTag tag, final IElementTagStructureHandler structureHandler) {
      ServletContext servletContext = null; // TODO: get servlet context
      HttpServletRequest request = null; // TODO: get request
      HttpServletResponse response = null; // TODO: get response
  
      // Retrieve dispatcher to component JSP view
      RequestDispatcher dispatcher = servletContext.getRequestDispatcher("/something");
  
      // Create wrapper (acts as response, but stores output in a CharArrayWriter)
      CharResponseWrapper wrapper = new CharResponseWrapper(response);
  
      // Run the include
      dispatcher.include(request, wrapper);
  
      String result = wrapper.toString();
  
      // Create a model with the returned string
      final IModelFactory modelFactory = context.getModelFactory();
      final IModel model = modelFactory.parse(context.getTemplateData(), result);
  
      // Instruct the engine to replace this entire element with the specified model
      structureHandler.replaceWith(model, false);
  </code></pre>
  
  <p>I wrote similar code in the past in the form of a custom JSP tag. Problem is: I don't know how to access the ServletContext, HttpServletRequest and the HttpServletResponse!
  Can this be done at all, or should I just accept that Thymeleaf is too good at hiding the HTTP context?</p>