Я пытаюсь убедить декоратора SiteMesh изменить тип содержимого ответа, но не радость. Тип контента всегда заканчивается тем же, что и декорированный JSP, а не декоратором.SiteMesh: изменение типа содержимого ответа
Например, скажем, у меня есть JSP с заголовком
<%@ page contentType="application/xhtml+xml" %>
У меня также есть SiteMesh декоратор JSP, который определяет это:
<%@ page contentType="application/vnd.wap.xhtml+xml" %>
То, что я хочу, чтобы декорированный ответ иметь тип mime декоратора (используемый здесь MIME-тип не важен, это просто для иллюстрации проблемы).
Прохождение через источник SiteMesh 2.4.1 предполагает, что проблема связана с классом ContentBufferingResponse
, который отвечает за захват вывода цели. Это переопределяет метод setContentType()
, записывая значение для последующего использования, но также вызывает super.setContentType()
, эффективно передавая контент-тип целевого JSP непосредственно в ответ. Как только это будет сделано, никакая оговорка не убедит ответ в противном случае.
Так есть обходной путь для этого? Можно ли подавить контент-тип целевого JSP и взять его из декоратора?