ANNOUNCING: 

  WebMacro Servlet Framework (release 0.80.1)

  http://www.webmacro.org/


WebMacro is a free Java servlet development framework, including
a template engine and extensible component model. It uses beans
and introspection to make any Java object in your servlet accessible
in your template.


Advantages:

  * Clarity. Simple, obvious script language with minimal syntax. 

  * Power. Templates can access any object in your Java servlet. 

  * Elegance. Keep HTML out of your servlet code. 

  * Independence. Build or change templates without touching your servlet.
 
  * Extensibity. Component model lets you to extend and modify the framework.

  * Friendly. WebMacro won't confuse your XML/HTML editor or parser.
   
  * Free. WebMacro is available under the GNU Public License.
   

The WebMacro philosophy is: 

  "Things that you don't care about should get out of your face."

Or to put it differently, WebMacro allows you to bring model/view/controller
approach to servlet programming: the servlet (controller) programming is 
written in a standard Java code with no HTML; the front end (view) HTML 
template is written in WebMacro script; and WebMacro provides both with 
access to back end data sources (the model) via the ResourceBroker.

Programmers should not have their code cluttered up with HTML and 
stylesheet junk. Web page designers should not have to put up with 
complex and scary looking program code. 

WebMacro lets programmers get back to programming--in a full fledged 
programming language; while letting page designers spend more time 
on appearances and less time on figuring out how to get more whitespace
out of a CGI script. 


Give me an example!

  In the template, WebMacro figures out that by $MyStuff.Customer.Fred.Email,
  which you could stick anywhere in your template, you want to insert 
  the String value of context.get("MyStuff").getCustomer("Fred").Email, and 
  if you have a vector (or array, or thing that returns iterator, or thing
  that returns enumeration) full of customers you can iterate like this:

     <h1>Products for $Store.Name as of $Store.Date</h1>

     <table><tr><td>What We Have</td>
                <td>How Many Left</td></tr> 

     #foreach $product in $Store.Products {
       <tr><td>$product.Name costs \$$product.Price</td>

       #if ($product.isAvailable()) {
         <td>There are $product.Count in stock</td>
       } #else {
         <td>Sorry, out of stock.</td>
       }

       </tr>
     }

     </table> 
     
  The template language has access to a lot of the back end functionality
  by way of special variables like $Cookie, $Response.Header, etc.

  See the website to learn more.


What Changed?

  -- 0.80 added method calls, generic templates, template parameters, 
     list initializer syntax, comments, bug fixes, and a few other things;
     0.80.1 fixes a minor bug in 0.80 (name of error template).
  -- 0.75 added the component model, full fledged introspection
     0.75.3 fixes all bugs reported as of January 22 1998
  -- 0.70 more back end services, better design, and fewer bugs
  -- 0.60 script language mostly in place, minimal introspection, many bugs
  -- 0.30 WebMacro said "Hello, World!" in a secret experiment

Pre 1.0 version numbers indicate what percentage of the full feature 
set has been implemented. Most features are now in place; many bugs 
have been fixed-- bug we still have a few important things to do 
before we can release 1.0.


Where:

  website: http://www.webmacro.org/ 

  list:    [EMAIL PROTECTED]

  me:      [EMAIL PROTECTED]


WebMacro is now usable, but still experimental. Everyone interested is 
encouraged to join the mailing list to contribute ideas--without the 
valuable contributions of Tom, Cristi, Frank, Simon, Klaasjan, Kyallee, 
Graydon, Michael, Dirk, and everyone else who contributed ideas, code, 
and bugs, we wouldn't be where we are--Thanks!

Justin Wells / [EMAIL PROTECTED]



------------------------------------------------------------
To subscribe:    [EMAIL PROTECTED]
To unsubscribe:  [EMAIL PROTECTED]
Problems?:       [EMAIL PROTECTED]

Reply via email to