On 3/14/08, Felix Meschberger <[EMAIL PROTECTED]> wrote: > Hi, > > Am Freitag, den 14.03.2008, 09:00 -0700 schrieb Tobias Bocanegra: > > > > 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. > > i think this i only a problem when generating 'HTML' output. all other > > servlets that include other ones or proxy them, probably want to keep > > the request method. > > > > i think it's a fundamental problem between "POST as replacement for > > GET with ?" and "POST to writeback content". > > > This is thin ice of course: POST and GET with ? are not the same - at > least in the author's orignial intention ;-) > > > > the ujax post servlet > > should only be used in the later case. since the first is merely > > parameter passing, i think we can transform it to GETs for included > > requests. > > > > > 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. > > > Am Donnerstag, den 13.03.2008, 03:01 -0700 schrieb Bertrand Delacretaz > > > (JIRA): > > this is exactly the problem eg. when using a 'proxy servlet' that the > > request needs > > to keep to original method. > > > > so i think defaulting it to force a GET is ok. maybe this can be > > exposed better in the api. eg (silly name, of course) > > > > slingReq.getRequestDispatcherThatForcesGet() > > > > regards, toby > > > If you use the getRequestDispatcher method, you may also pass the > RequestDispatcherOptions setting. But this proposal in fact gives way to > another one: How about a new tag: > > <sling:includeGet> > > which would behave exactly like <sling:include> except that the include > will use the RequestDispatcherOption for GET.
as i mentioned in the jira issue - i think inclusion of a non-get are very rare in scripts. so i would rather have the 'force-GET' as default in the <sling:include/>. if this is also the default case in the req.dispatcher, i don't care, but i agree it should align. > > WDYT > > Regards > > Felix > > > > > > > > > > > [ > 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). > > > > > > > > > > > > > > > > -- -----------------------------------------< [EMAIL PROTECTED] >--- Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel T +41 61 226 98 98, F +41 61 226 98 97 -----------------------------------------------< http://www.day.com >---
