Is there anything wrong with having a given ActionServlet save itself in
the request at process() time and then have all attributes that are
currently accessed through application scope can instead be accessed
through the servlet that has been saved in the request?  That way all
components are using the public interface of ActionServlet to get at its
attributes (findForward(), findMapping(), etc).   Then:
1) A given servlet is marked as "primary" or not.  Default is to be
primary.  For compatibility the primary servlet is exposed using the same
application scope attributes.   Primary servlet also saves itself into the
context at some static key (Action.CONTROLLER_KEY)
2) RequestUtil has one public method - getController(PageContext) added.
This returns the current controller in the request and if not found returns
the one in the application scope.
3) Components that need access to the action servlet (like taglibs) and
have not had it passed use the above method to get the appropriate
instance.
4) Could choose to deprecate application scope access.

This seems very simple, and is compatible with current deployments.

Tim W Wilson
Eclipse WSED Architecture & Development
internet: [EMAIL PROTECTED]
(919) 254-0029 (TL 444-0029)


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to