Hlavní menu

Nástroje

OpenCMS / NávodProPráciSImplicitníProměnnouResponse

View (print) - Edit page | Recent changes - Page history

Updated 28 February 2009, 09:13 by Stanislav Skalicky

OpenCMS.NávodProPráciSImplicitníProměnnouResponse History

Hide minor edits - Show changes to markup

28 February 2009, 09:13 by Stanislav Skalicky -
Deleted lines 0-13:

Problém

Na JSP stránkách v OpenCms se vyskytují problémy při práci s implicitní proměnnou response.Např. nefungují metody pro přesměrování prostředků - sendRedirect a sendError.

Řešení

Implicitní response přepíšeme aktuální response z Cms Controlleru

    CmsFlexController controller = (CmsFlexController)request.getAttribute(CmsFlexController.ATTRIBUTE_NAME);
    response = controller.getTopResponse();
    response.sendError(403);  

Tímto způsobem můžeme pak response používat i pro sendRedirect, nebo setStatus(301).

27 February 2009, 09:47 by Stanislav Skalicky -
Changed line 14 from:

Tímto způsobem můžeme pak response používat i pro sendRedirect, nebo @@setStatus(301).

to:

Tímto způsobem můžeme pak response používat i pro sendRedirect, nebo setStatus(301).

27 February 2009, 09:47 by Stanislav Skalicky -
Changed line 9 from:
    CmsFlexController controller = (CmsFlexController?)request.getAttribute(CmsFlexController?.ATTRIBUTE_NAME);
to:
    CmsFlexController? controller = (CmsFlexController?)request.getAttribute(CmsFlexController?.ATTRIBUTE_NAME);
27 February 2009, 09:46 by Stanislav Skalicky -
Changed lines 8-13 from:

@@

CmsFlexController? controller = (CmsFlexController?)request.getAttribute(CmsFlexController?.ATTRIBUTE_NAME);
response = controller.getTopResponse();
response.sendError(403);

@@

to:
    [@CmsFlexController
controller = (CmsFlexController?)request.getAttribute(CmsFlexController?.ATTRIBUTE_NAME);
    response = controller.getTopResponse();
    response.sendError(403);  

@]

27 February 2009, 09:44 by Stanislav Skalicky -
Added lines 1-14:

Problém

Na JSP stránkách v OpenCms se vyskytují problémy při práci s implicitní proměnnou response.Např. nefungují metody pro přesměrování prostředků - sendRedirect a sendError.

Řešení

Implicitní response přepíšeme aktuální response z Cms Controlleru

@@

CmsFlexController? controller = (CmsFlexController?)request.getAttribute(CmsFlexController?.ATTRIBUTE_NAME);
response = controller.getTopResponse();
response.sendError(403);

@@

Tímto způsobem můžeme pak response používat i pro sendRedirect, nebo @@setStatus(301).