Um aus einem portletRequest auf den httpRequest zuzugreifen muß man ein paar tricks anwenden. Der Request ist durch verschiedene "Wrapper" gut verpackt, die durchstöbert werden müssen. Den folgenden Beispiel-Code kann man dann in eine eigene Util-Klasse zur wiederverwendung ablegen. Die Methode ruft sich rekursiv auf.
z.B.
PortletUtil.getRequest(portletRequest);Dies ist das was in der Utility geschrieben wurde.
public static HttpServletRequest getRequest(Object r)
{
if (r instanceof PortletRequestWrapper)
{
PortletRequestWrapper portletRequestWrapper = (PortletRequestWrapper) r;
return getRequest(portletRequestWrapper.getRequest());
}
if (r instanceof ServletRequestWrapper)
{
ServletRequestWrapper servletRequestWrapper = (ServletRequestWrapper) r;
return getRequest(servletRequestWrapper.getRequest());
}
return (HttpServletRequest) r;
}
Keine Kommentare:
Kommentar veröffentlichen