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 output

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).