I'm evaluating WebWare for possible uses at my company.  However, I'm 
distressed by how heavyweight and html-specific WebKit.Page is.  I think 
it is bothersome, a little confusing, and not very graceful when it 
comes to wanting to write a webapp that extends the toolkit.

My primary gripe is that Page seems to be the only reasonable extension 
point for writing things, and many things I need to write may not 
actually produce HTML.  If I want to do MVC-like actions where decisions 
are made and then forward()'ed away to a PSP, writeHTML() is pure 
overhead.  If I want to generate a PNG, CSV or other type of content, 
it's confusing to override writeHTML() in my derived class.

I suggest a new class, maybe named HTTPAction, be put between
HTTPServlet and Page.  It should contain all the much of what is called
early in a Page (like respondToGet, respondToPost, and _respond) as well
as general utility methods (like forward()) but leave defaultAction():
*blank* (or possibly just throwing an exception).

Page should then override defaultAction() to call writeHTML(), which it 
provides along with all the HTML-specific helper-methods.

With this, people who want to write a differently templated page (maybe 
something simpler like writeHeader(), writeBody(), writeFooter()) can 
derive from this class.  Also, people who want to write elements that 
produce something other than a page of HTML have a more natural 
extension point that includes the handy _action_ functionality and 
utility routines I've mentioned.

This can be done easily and without breaking current applications simply 
by pushing some methods into a new class.

If this sounds reasonable, I'll write a patch.  Please respond and 
comment.

-- 
[EMAIL PROTECTED]
  Some people have a way with words, while others... erm... thingy.



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-devel

Reply via email to