Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 72744 invoked from network); 3 Apr 2007 08:28:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Apr 2007 08:28:05 -0000 Received: (qmail 32603 invoked by uid 500); 3 Apr 2007 08:28:11 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 32505 invoked by uid 500); 3 Apr 2007 08:28:10 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@cocoon.apache.org List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 32494 invoked by uid 99); 3 Apr 2007 08:28:10 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2007 01:28:10 -0700 X-ASF-Spam-Status: No, hits=1.3 required=10.0 tests=RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ap-cocoon-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2007 01:27:59 -0700 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HYeM7-000538-JP for dev@cocoon.apache.org; Tue, 03 Apr 2007 10:27:07 +0200 Received: from 217.244.9.5 ([217.244.9.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 03 Apr 2007 10:27:07 +0200 Received: from alexander.klimetschek by 217.244.9.5 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 03 Apr 2007 10:27:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: dev@cocoon.apache.org From: Alexander Klimetschek Subject: Re: Parameters in request get lost when using servlet: protocol Date: Tue, 03 Apr 2007 10:26:55 +0200 Lines: 33 Message-ID: References: <47f71d940704012335ic080521s177e9a03d8b512e1@mail.gmail.com> <47f71d940704022130s68872715o4ffaf28f66450efa@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 217.244.9.5 User-Agent: Thunderbird 1.5.0.10 (Macintosh/20070221) In-Reply-To: <47f71d940704022130s68872715o4ffaf28f66450efa@mail.gmail.com> Sender: news X-Virus-Checked: Checked by ClamAV on apache.org Rice Yeh schrieb: > Thank you for your solution. But I still feel weird for a brand new request > being created for a called block (servlet), at least for a super block > (servlet). Having a look at the source code, each new brand request and > response are supposed to be stored in its call frame (actually, this > feature > is not implemented yet, but api for retrieving these two objects are > provided). If such design is intended, why not just treat request and > response as part of servlet (block) context. And a way for passing a > request's attributes or parameters must be provided. My real opinion is > that > request should be pass through all servlets invoked, instead of creating a > new one. You are right, as far Cocoon's internal blocks with Sitemap servlets are involved. In that case one can optimize the calls and provide the original context (request, sitemap parameters etc.) to the callee. The only problem you have is how to handle the different parameter levels you have: you might want to have global but sometimes only local parameters, eg. when setting some value in a called block, you don't want it to override a parameter with the same name in the calling block. The advantage of the servlet protocol internally is that you can mount any servlet as a block, not only cocoon's sitemap servlet. We for example have mounted the Solr servlets (for indexing and searching with lucene) as normal blocks. This is a nice feature that allows you to manage your complex web application solely with Cocoon and Spring. Alex -- Alexander Klimetschek http://www.mindquarry.com