A
Ajax
Aspect-Oriented
 
B
Bloggers
Build Systems
Business Intelligence
ByteCode
 
C
CMS
Cache Solutions
Charting & Reporting
Chat Servers
Code Analyzers
Code Beautifiers
Code Coverage
Collections
Command Line
Connection Pools
Crawlers
 
D
Databases
 
E
EJB Servers
ERP & CRM
ESB
Eclipse Plugins
Expression Languages
 
F
Financial Soft
Forum Soft
 
G
General Purpose
Geospatial
Groupware
 
H
HTML Parsers
 
I
IDEs
Installers
Inversion of Control
Issue Tracking
 
J
J2EE Frameworks
JDBC
JMS
JMX
JSP Tag Libraries
Job Schedulers
 
L
Localization
Logging Tools
 
M
Mail Clients
 
N
Network Clients
Network Servers
NoSQL Databases
 
O
Obfuscators
 
P
PDF Libraries
Parser Generators
Persistence
Portals
Profilers
Project Management
 
R
RSS & RDF Tools
Rule Engines
 
S
SQL Clients
Scripting Languages
Search Engines
Security
Source Control
Swing
 
T
Template Engines
Testing Tools
Text Processing
 
U
UML & Modeling
 
V
Validation
 
W
Web Frameworks
Web Mail
Web Servers
Web Services
Web Testing
Wiki Engines
Workflow Engines
 
X
XML Parsers
XML UI Toolkits
 

Open Source Template Engines in Java

Velocity

Velocity is a Java-based template engine. It permits web page designers to reference methods defined in Java code. Velocity can be used to generate web pages, SQL, PostScript and other output 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

Go To Velocity

FreeMarker

FreeMarker is a template engine. It provides an easy way to generate textual (HTML, RTF, PostScript, TeX, source code, etc) output from your data and helps you separate design issues from application logic. Integrates with servlets, XML, Python and more.

Go To FreeMarker

JByte

JBYTE - JavaBY Template Engine is a Java-based template engine. JBYTE is a general template engine used for generating any type of text document from a template. JBYTE is used mostly for generating HTML from JSP or servlets but it can also be used for generating XML, RTF, WML, e-mail text, source code and configuration files.

Go To JByte

Jamon

Jamon is a general purpose template engine written in java. Jamon has a rich feature set to support encapsulation, parameterization, functional decomposition, and reuse of presentation logic.

Go To Jamon

StringTemplate

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. StringTemplate is particularly good at multi-targeted code generators, multiple site skins, and internationalization/localization. It evolved over years of effort developing jGuru.com. StringTemplate also generates this website and powers the ANTLR v3 code generator. Its distinguishing characteristic is that it strictly enforces model-view separation unlike other engines.

Go To StringTemplate

Tea

Tea is a simple yet powerful template language. Tea is most commonly used for creating dynamic web pages in the TeaServlet.

Go To Tea

JDynamiTe

JDynamiTe is a simple yet powerful tool used to create dynamic documents from "template" documents.

Go To JDynamiTe

Better Templates for Everybody

A "bottom up" template specification in which data knows how to insert itself into the proper place in your template. Templates can be built from static files or from Java servlets.

Go To Better Templates for Everybody

jxp

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 includes: - java as template language. so why learn another one? ;) - support common java language 1.4 constructs (1.5 syntax support pending) - 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

Go To jxp

WebMacro

WebMacro is a 100% Java open-source template language. WebMacro is a viable (and proven!) alternative to JavaServerPages, PHP, and ASP. It's the fundamental page technology behind several major websites such as AltaVista, but can be used to generate any kind of text content.

Go To WebMacro

Viento

Viento is a general purpose template language written in Java. It is syntactically similar to Velocity in many ways. The most notable difference is the absence of 'special' directives. The language features (mixins, blocks, custom method names) allow simple Java tools to serve these functions and open the way for user extensions to look just as nice as the core language constructs with minimum work. Released under the Eclipse Public License (EPL).

Go To Viento

IKAT

IKAT is the templating engine for RSF, an open source Web programming framework based on Spring. The IKAT engine is standalone and can be used without the rest of RSF. IKAT is unique in being the first "completely pure" HTML templating engine. Unlike others, it not only permits

 *no
 * logical constructs (tests, branches, iterations etc.) to be expressed in the template, it allows no "model" references in the template and further it adds no tags to its target language - just one single attribute, the rsf:id. Replication and branching, instead, is "induced" in the template structure by a unique "structural matching" algorithm based on a tree of lightweight "components" produced by the user.

Go To IKAT

LSP

LSP is an advanced web template language based on XML technology. LSP provides powerful and easy to use presentation logic, but keeps bussines logic and technical details out of templates. LSP is compiled into Java bytecode for efficient execution. LSP integrates with Servlets and other Java EE technology and can be used as an alternative to JSP for building web applications.

Go To LSP

Bluprints

Bluprints is a JSP templating framework with zero dependencies and a simple yet powerful XML configuration. This project provides many sophisticated features such as multiple file support, namespacing, cross file/namespace extension, nesting and much more. The XML parsing is done via SAX for performance and to reduce the failures due to XML binding frameworks. An XML schema is provided and always kept up-to-date. The API is simple and direct without hundreds of methods and classes. However, Bluprints provides many features that other JSP templating frameworks are lacking in a fraction of the code. Bluprints is a JDK 1.5 only framework and requires no external libraries to use. It supports WebWork integration and will be supporting plain servlets, struts/actionflow and other frameworks in the future.

Go To Bluprints

Dynamator

Dynamator is a simple but powerful tool that transforms standard HTML and XML files into server pages or programs. Dynamator was created to solve the Server Pages Maintenance Problem. Dynamator separates HTML from program logic so completely that different page generation technologies can use the same HTML. With Dynamator, software developers don't have to maintain HTML, and HTML authors don't have to learn a programming language.

Go To Dynamator

Transformica

Transformica is a versatile and extensible code generator. It supports multiple source models including database metadata, Java source files, grammar files and custom models. Transformica is implemented as an Ant task and uses Velocity as its template engine.

Go To Transformica

SiteMesh

SiteMesh is a web-page layout and decoration framework and web-application integration framework to aid in creating large sites consisting of many pages for which a consistent look or feel, navigation and layout scheme is required. SiteMesh intercepts requests to any static or dynamically generated HTML page requested through the web-server, parses the page, obtains properties and data from the content and generates an appropriate final page with modifications to the original. This is based upon the well-known GangOfFour Decorator design pattern.

Go To SiteMesh

Hapax

Hapax is a simple text templating library for Java. Hapax is suitable for constructing text output from Java code. The syntax is similar to Google's ctemplate library. Hapax was designed to be easy to use and have minimal dependencies. Hapax does not depend on any existing web framework, and is suitable for use in servlets, scripting languages (Scala, Groovy, etc), and server-side applications.

Go To Hapax

RTFTemplate

RTFTemplate is a tool to merge a RTF template with data coming from a Java context and generate a new RTF document. The RTF template can contain custom fields, hyperlinks o defined sections to be replaced.

Go To RTFTemplate

MiniTemplator

MiniTemplator is a compact template engine for HTML files. Features:

 * Available in Java, PHP and Visual Basic (VB/VBA).
 * Simple syntax for template variables and blocks.
 * Blocks can be nested.
 * Compact, well-documented source code. A single code module.
 * Documentation and sample programs available.

Go To MiniTemplator

JCopist

JCopist is a template-based document generation server based on OpenOffice.org. Its templates are regular OpenDocuments enhanced with the FreeMarker scripting language. A wide range of formats are available, eg. : ODT, PDF, RTF, HTML, MS Word, MS Excel.

Go To JCopist

Xtempore

Xtempore is a lightweight, modular and powerful XML-based domain independent templating language. It's essentially a programming library which provides flexible tools for transforming an object (model) and an XML document (template) into another XML document.


 * The language is defined as an XML schema and is thus supported in all XML-enabled development environments.

 * There is no specific evaluation strategy - any number of evaluation languages or strategies can be used simultaneously.

 * The core provides facilities for sharing function libraries (similar to taglibs) as well as converting values between types.

 * The language and it's implementation are extensible and all extensions are bound into xml namespaces.

Go To Xtempore






Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. This site is independent of Sun Microsystems, Inc.