Hi all,

Issue SLING-325 touches a fundamental problem: Tobias Bocanegra asks for
two additions: Support method overwrite on import using an
RequestDispatcherOption and have this option set to a default value of
"GET" for the <sling:include> tag.

I think, the former request to add such an option is not controversary
as it might help in many situations.

What I want to put up on discussion is the definition of the default
value for the sling:include tag :

First, I think we either define this globally for all inclusions through
the RequestDispatcher or we leave it out altogether. We should not
specify a different default for an include through <sling:include> and
for an include through the RequestDispatcher retrieved from the request.

Second, I question the default value as such: AFAIK the servlet spec has
no saying about changing the method name in the included request. In
fact, IMHO the basic assumption is that the include operates with the
same setup as the including request - except if the reqeust object is
overwritten to changes things.

BTW: this is only an issue for the first include as further includes
from the first include (transitives) will just not see the original
method anymore as it is hidden by the first include.

WDYT ?

Regards
Felix

Am Donnerstag, den 13.03.2008, 03:01 -0700 schrieb Bertrand Delacretaz
(JIRA):
> [ 
> https://issues.apache.org/jira/browse/SLING-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578219#action_12578219
>  ] 
> 
> Bertrand Delacretaz commented on SLING-325:
> -------------------------------------------
> 
> > how about a 'forceGet' attribute with default to 'true' if not set ? 
> 
> I like this, and I'd even tend to suggest always forcing to GET for includes. 
> 
> Using includes to process POST or other requests (except HEAD maybe) sounds 
> scary, but that's just a gut feeling, I don't have precise examples.
> 
> So I'm ok for either a forceGet option or for always forcing GET without the 
> option for now, and adding the option later if we ever need it.
> 
> > Add RequestDispatcherOptions.OPT_REQUEST_METHOD
> > -----------------------------------------------
> >
> >                 Key: SLING-325
> >                 URL: https://issues.apache.org/jira/browse/SLING-325
> >             Project: Sling
> >          Issue Type: New Feature
> >          Components: Scripting
> >            Reporter: Tobias Bocanegra
> >
> > I'm facing a problem with POST handling in scripts. i have a 'main' script 
> > that includes others (header, navigation, footer, etc.) using 
> > <sling:include/>.
> > now i have a html form that uses (multipart) POST that i want to handle 
> > myself and not with the ujax post servlet. therefor i added a 'POST.jsp' 
> > beside my 'html.jsp' of the main script. this works. now the problem is, 
> > that all included resources that do not have a POST.jsp are rendered by the 
> > ujax post servlet, which is not what i want. of course i can add POST.jsp 
> > to all other scripts but that's a bit tiresome.
> > suggest to:
> > - add new RequestDispatcherOption  OPT_REQUEST_METHOD that allows override 
> > of the method (maybe limit to 'GET')
> > - extend the <sling:include/> tag to take a 'method' attribute and default 
> > it to GET, if absent (it would be tedious to specify the GET for every 
> > include, so rather make it default).
> 

Reply via email to