Template Engines « Development « Java Products

Java Products
3.Byte Source Code
5.Data File
8.Graph Image Diagram Movie
9.GUI Tools
10.J2EE Web Development
12.Net Web Mobile
15.Server Side JSP Servlet
Java Tutorial
Java Book
Java Source Code / Java Documentation
Java Source Code / Java Documentation 2
Java Open Source
Jar File Download
Java Articles
Java by API
Spring questions and answers
Swing questions and answers
JPA questions and answers
Java Products » Development » Template Engines 
1. Velocity
License:Apache Software License
Description: Velocity is a Java-based template engine. It permits anyone to use a simple yet powerful template language to reference objects defined in Java code. When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over its lifespan and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity's capabilities reach well beyond the realm of the web; for example, it can be used to generate SQL, PostScript and XML (see Anakia for more information on XML transformations) from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems. For instance, Velocity provides template services for the Turbine web application framework, together resulting in a view engine facilitating development of web applications according to a true MVC model.

2. FreeMarker
License:BSD License
Description: FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It's a Java package, a class library for Java programmers. It's not an application for end-users in itself, but something that programmers can embed into their products. FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based applications following the MVC (Model View Controller) pattern. The idea behind using the MVC pattern for dynamic Web pages is that you separate the designers (HTML authors) from the programmers. Everybody works on what they are good at. Designers can change the appearance of a page without programmers having to change or recompile code, because the application logic (Java programs) and page design (FreeMarker templates) are separated. Templates do not become polluted with complex program fragments. This separation is useful even for projects where the programmer and the HMTL page author is the same person, since it helps to keep the application clear and easily maintainable. Although FreeMarker has some programming capabilities, it is not a full-blown programming language like PHP. Instead, Java programs prepare the data to be displayed (like issue SQL queries), and FreeMarker just generates textual pages that display the prepared data using templates.

3. Jamon
License:GNU General Public License (GPL)
Description:# Jamon has a rich feature set to support encapsulation, parameterization, functional decomposition, and reuse of presentation logic. # Since rendering logic may be arbitrarily complicated (e.g. rendering hierarchical data such as a recursive directory structure), this logic needs to be expressable in a Turing-complete language. Rather than invent yet another language, use Java itself inside the presentation framework. Jamon helps keep the rendering logic in the presentation layer technology. # Jamon templates declare the arguments required for rendering. This provides a well-defined contract between the presentation layer and the application.

4. StringTemplate
License:BSD License
Description:StringTemplate is a java template engine (with ports for C# and Python) for generating source code, web pages, emails, or any other formatted text output. It evolved over years of effort developing jGuru.com. StringTemplate also generates the antlr.org web pages.

5. Tea Trove
License:Apache Software License
Description:Tea Trove is an open source collection of products, created by the Walt Disney Internet Group. These technologies help drive our popular web sites. These sites include ESPN.com, Movies.com, ABCNews.com and Disney.com.

6. JDynamiTe
License:GNU Library or Lesser General Public License (LGPL)
Description:JDynamiTe is a simple yet powerful tool used to create dynamic documents from "template" documents. It is based on the same concept as those of "FastTemplate", which is a very popular PHP extension used in many Web sites to create dynamic HTML pages. Note: JDynamiTe is not a Java port of FastTemplate. The main benefit of JDynamiTe is to allow a true separation between the presentation (HTML, XML, etc) and content generation code (written in Java). JDynamiTe is not another template language, or a complete framework. It is a simple "brick" in your "MVC" architecture, "glue" between views and models. JDynamiTe is a "pure" Java package, which is designed to be flexible and open. JDynamiTe is free, under the GNU Library General Public License. This project is hosted in SourceForge domain.

7. Better Templates for Everyone
License:GNU Library or Lesser General Public License (LGPL)
Description:Better Templates for Everyone were designed to make it easy to maintain a web site. Using dynamic pages for everything is overkill. You might desire to give many of your pages a fresh look every once in a while, but from day to day, the contents of the pages stay the same. Better Templates for Everyone can be used to make updating static web pages easier while using the same process with dynamic web pages. Updating static pages can be done on virtually any web server and creating dynamic pages with bte can be accomplished through servlets.

8. Jxp (Java scripted page)
License:GNU Library or Lesser General Public License (LGPL)
Description: Jxp (Java scripted page) is a script-processor/template-engine that can execute template files containing text + java code. It contains a parser to parse the script file into an abstract syntax tree and a tree processor (JxpProcessor) that will process the syntax tree to execute the code using reflection API to produce output. Some of the main features of Jxp include: * Java as template language. Why learn another one? ;) * support common java language 1.4 constructs (partial 1.5 syntax support on jdk 1.4) * practical template sources management framework * support caching of parsed syntax tree to eliminate reparse of template * a servlet implementation to enable web-scripting * extensible processing context for defining built-in function on the scripts

9. WebMacro
License:GNU General Public License (GPL)
Description:WebMacro, Release 2, is a stable, proven and productive templating system written in Java and with a small but very capable scripting language. This Wiki site is an application which uses WebMacro. WebMacro is more effective for rendering web pages than JavaServerPages, PHP, and ASP. We say this because, since 1999, programmers around the world have used both and universally endorsed WebMacro. WebMacro is the page-generation technology behind several major websites.

10. RSF
License:Apache Software License
Description:The heart of the RSF system is the IKAT renderer, which uses a unique "function call" system to allow view templates to be written in pure (X)HTML. Many of the better frameworks out there today (Tapestry, RIFE, WebWork) already support templates which parse as HTML, but still fall into the trap of leaving the capability of significant logic "piggybacking" within the templates, whether as OGNL references, repetition constructs or other home-grown markup. IKAT adds just ONE attribute to its target render language (which may be any XML variant), the rsf:id, whose values are simple strings of 3 types. The renderer is extremely fast and short, and is capable of piling out data roughly as fast as it could be read from disk (in short tests, 10K of data rendered in 600 microseconds).

11. Galapago
Description:Galapago is a program that uses basic LOGO language syntax and Turtle drawing to render Lindenmayer systems (L-systems). I designed it to help me learn the math techniques described in the book The Algorithmic Beauty Of Plants [Prusinkiewicz and Lindenmayer]. It has since evolved into a tool for executing LOGO scripts, which can be used and expanded upon by programmers, mathematicians and teachers.

java2s.com  |  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.