Мы используем портлет endeca, и я хочу знать, как получить HttpServletResponse из ответа на действие портала liferay без использования метода PortalUtil.getHttpServletResponse.
Как получить HttpServletResponse с портала liferay без использования PortalUtil.getHttpServletResponse
Ответы (1)
Прямой ответ на ваш вопрос: Посмотрите, как Liferay реализует базовый метод. Вам придется дублировать этот код, потенциально дублируя несколько классов, недоступных для приложений.
Косвенный ответ: я сомневаюсь, что вы можете сделать с HttpServletResponse что-то значимое, кроме как все испортить: Liferay, возможно, уже записал в него какой-то контент, когда вы его получите. Таким образом, вы не можете полагаться на включение HTTP-заголовков (воспроизводимо). Черт возьми, вы даже не знаете, доставляется ли ваш портлет через Ajax или встраивается в страницу.
Иди с неответом. Если вы не столкнетесь с серьезной основной проблемой, я настоятельно не рекомендую этого делать (я бы даже настоятельно не советовал делать это, если вы только что использовали PortalUtil). В большинстве случаев попытка доступа к HttpServletRequest является взломом. В HttpServletResponse я даже не могу придумать что-то, что можно было бы взломать таким образом.