If the general consensus is that defaultPostAction() method isn't useful
to the general public, perhaps I should retract my patch (I can just
maintain my local modifications on my own).

On Tue, 2002-10-08 at 23:49, Ian Bicking wrote:
> On Tue, 2002-10-08 at 23:05, Matthew J. Feifarek wrote:
> > Ian Bicking wrote:
> > 
> > >On Tue, 2002-10-08 at 22:39, Matthew J. Feifarek wrote:
> > >  
> > >
> > >I myself never use actions, though kind of for this reason -- I have a
> > >hard time arranging the logic when actions are sometimes called, and
> > >sometimes not.  My solution has been not to use actions at all.
> > >  
> > >
> > I like the cleanliness of actions; put the security check up inside of 
> > handleActions() and forget about it; just write methods. It seems more 
> > OO than huge trees of if/elif/else. But I can see your point.
> 
> But how is putting the code in handleActions different from putting it
> in writeContent or awake?
> 
> > >BTW, I've been using an alternate Page-like servlet structure (which I
> > >haven't put in CVS or anything -- but maybe I should put it in
> > >Experimental).  Anyway, it makes much more significant use of
> > >exceptions.  I have a feeling it would simplify what you are doing,
> > >  
> > >
> > We are doing something similar; catching the exception with a runtime 
> > mixin into the Transaction class. If a user fails to pass security tests 
> > in awake(), we want to short-circuit the rest of awake, so we throw an 
> > exception that's caught by the thing that called awake... Transaction.
> > 
> > It's a little ugly shoe-horning this into Transaction, but it seems to 
> > work without any ill effects.
> 
> My solution was to stop using awake/sleep, and to put a
> setup/writeHTML/teardown sequence in respond.  Then respond (in your new
> Page) catches all the exceptions.  No hacking about, and has the same
> effect.  
> 
> > >Do you mean that, if no explicit _action_ was given, you'd do something
> > >like handleAction('default') (and skip writeHTML entirely, but the
> > >default action would call writeHTML by default)?
> > >  
> > >
> > I'm saying that it essentially IS this way already... as written, if 
> > there are no actions, webkit runs writeContent; this IS the default action.
> > 
> > To pollute matters even further, parts of writeHTML() are still called 
> > when an action is triggered; there are TWO PLACES that these methods are 
> > called; ick. We moved around this in FormKit with a reinterpretation of 
> > preAction --> action --> postAction, but it always bothered me.
> > 
> > Aside from redirects, every servlet is going to output something, so 
> > every servlet is going to have a writeHTML. SO, I'm saying that by 
> > putting application logic into actions, and letting output methods be 
> > called from that application logic, you end up with a simpler lifecycle 
> > setup:
> > 
> > awake()
> > respond():
> >     handleAction():
> >         preAction():
> >             # write beginning of html page here, including header, 
> > stylesheets, body tag open, etc
> >         action():
> >             # do application logic; writing to database, whatever
> >             # call appropriate output method or if/else the output here
> >         postAction():
> >             # close up the html
> > sleep()
> > 
> > This seems preferable to "do this when there's an action, and do this 
> > other thing when there isn't". I see the non-action case as a weird 
> > exception to an otherwise solid way to use a web browser to talk to 
> > server objects.
> 
> I agree on the problem, but I don't think this is the complete
> solution.  For instance, my titles and such are often based on the
> content, which is based on an ad hoc action.  So I deal with everything
> in awake (well, setup), and then everything else is rendering logic. 
> When it's just rendering logic, it's not as burdensome.
> 
> But that's not sufficient either.  As I've tried to deal with errors,
> the errors will imply their own text (but not always standard text). 
> And that text should be styled in a certain way, and that style is not
> completely contained in the interior of the page (as always, the title
> in the head is dynamic, though there are other instances).  I haven't
> decided how to deal with that -- I'm thinking forwarding is the right
> answer, though in the past I've disliked the idea of forwarding.
> 
> I dunno... this is kind of scattered, but I feel like the problems fit
> together, and the best solution will answer several at once.  I'm also
> thinking in terms of a replacement for Page that doesn't try to be
> backward compatible (or, rather, an alternative to Page).
> 
>   Ian
> 
> 
-- 
Jason D. Hildebrand
[EMAIL PROTECTED]



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-devel

Reply via email to