|
Project Information
Featured
Downloads
Links
|
1. OverviewHyper-Text Template Language and Engine (HTTL) based on HTML for JAVA.
2. Performance
3. Example3.1 Template Examplebooks.httl: <html define="User user, Book[] books">
<body>
<table if="user.role == 'admin'">
<tr foreach="book in books">
<td>${book.title}</td>
</tr>
</table>
</body>
</html>3.2 Config Examplehttl.properties: #extensions cache=com.googlecode.httl.support.caches.StrongCache loader=com.googlecode.httl.support.loaders.ClasspathLoader parser=com.googlecode.httl.support.parsers.AttributeParser resolver=com.googlecode.httl.support.resolvers.DfaResolver compiler=com.googlecode.httl.support.compilers.JdkCompiler replacer=com.googlecode.httl.support.replacers.ClearBlankReplacer formatter=com.googlecode.httl.support.formatters.DateFormatter filter=com.googlecode.httl.support.filters.EscapeHtmlFilter functions=com.googlecode.httl.support.functions.DefaultFunction #properties import.packages=java.util,com.xxx template.directory= attribute.namespace= cache.capacity=0 compile.directory= java.version=1.6 input.encoding=UTF-8 output.encoding=UTF-8 locale=zh_CN time.zone=+8 date.format=yyyy-MM-dd HH:mm:ss number.format=###,##0.### null.value= true.value=true false.value=false sequences=Mon Tue Wed Thu Fri Sat Sun Mon,Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan 3.3 API ExampleServlet.java: import com.googlecode.httl.*;
// Get engine (Singleton instance, multi-thread shared.)
Engine engine = Engine.getEngine();
// Create context (Prototype instance, thread-local hold.)
Map<String, Object> context = new HashMap<String, Object>();
context.put("user", userService.findUser(userId));
context.put("books", bookService.findUserBooks(userId));
// Render template to response.
engine.getTemplate("books.httl").render(context, response.getOutputStream());4. Download
<project>
<dependencies>
<dependency>
<groupId>com.googlecode.httl</groupId>
<artifactId>httl</artifactId>
<version>0.2.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>httl-repository</id>
<name>Httl Repository</name>
<url>http://httl.googlecode.com/svn/maven/</url>
</repository>
</repositories>
<project>5. Syntax5.1 Template SyntaxBased on HTML comment: 5.1.1 Interpolation Statement
5.1.2 Definition Statement
5.1.3 Condition Statement
5.1.4 Iteration Statement
5.1.5 Block Statement
5.1.6 Literal Statement
5.2 Expression SyntaxBased on JAVA expression: 5.2.1 Operator Expression5.2.1.1 Collection Operator
5.2.1.2 Date Operator
5.2.1.3 Logical Operator
5.2.2 Function Expression5.2.2.1 System Function
5.2.3.2 File Function
5.2.2.3 Collection Function
|