|
Home |
News |
Wiki |
About StringTemplate |
Feedback |
Support |
Bugs |
|
|
Latest version is 3.2. Download now! » |
![]() |
|
Article List
The Importance of Model-View Separation (a conversation with Terence Parr) Bill Venners Fri Mar 21, 2008 08:56 In this interview with Artima, Terence Parr, creator of the StringTemplate template engine as well as the ANTLR parser generator, talks about the importance of separating business logic and presentation. Script injection and StringTemplate John Snyders Fri Feb 15, 2008 19:13 Some thoughts on rendering in StringTemplate. What can be done to protect against script injection in HTML without the template author needing to be aware of escaping rules? Setting up ANTLR/ST for use with Matlab L & D Engineering LLC Sun Dec 2, 2007 11:11 Refactoring your Templates Sander Hahn Sat Oct 13, 2007 08:55 Chronicles Sander's use of ST. Thoughts on StringTemplate John Snyders Wed Jun 27, 2007 17:59 Second in a series of articles on ideas for the future of StringTemplate. Part 2 is about programming-in-the-large. Required Reading: Enforcing Strict Model-View Separation in Template Engines David Rupp Wed Jun 6, 2007 16:01 Blog entry discussing Enforcing Strict Model-View Separation in Template Engines. Chinese version: Enforcing Strict Model-View-Separation in Template Engines Translated by Richie Liu Tue Jun 5, 2007 11:39 I translated the paper into Chinese and post it there, is to bring it to Chinese programmers, and make it more readable to us. On Learning StringTemplate John Snyders Thu Apr 26, 2007 10:46 I have been thinking lately about the learnability (the ease with which something can be learned) of StringTemplate. StringTemplate needs is a literal representation for data that can be used as input and a stand alone program to read the data and templates to produce the output text. I created a command line tool called StringTemplate Standalone Tool (STST). It takes as input the name of a file containing data in JSON format, the name of a template and optionally the name of a group as well as various options. Web app investigation part 2 - StringTemplate John Snyders Tue Mar 27, 2007 15:58 This post will describe my experience with StringTemplate. I also give some informal performance numbers. Grokking StringTemplate Ian Rae Tue Feb 13, 2007 14:57 The blog has conclusions after a couple of days of playing with StringTemplate in Java. John Snyders' blog entry on ST John Snyders Mon Dec 11, 2006 09:43 Talks about using ST in a simple website, comparing to hand-coded servlet and JSF. ST's speed is in between those two. Terence Parr on Strict Model-View Separation in Templates Terence Parr Wed Oct 18, 2006 10:39 An interview I did for Artima.com :) Intelligent Web Site Page Generation Terence Parr Fri Jul 7, 2006 14:30 Discussing factoring code for building dynamic web sites and other issues related to page design. Using StringTemplate in Page classes Terence Parr Fri Jul 7, 2006 14:29 How to integrate ST into some servlets; look near the bottom of the page. The Role of Template Engines in Code Generation Terence Parr Fri Jul 7, 2006 09:36 A multimedia version of my presentation at Microsoft Research in July of 2004. [DRAFT] A Functional Language For Generating Structured Text Terence Parr Thu May 11, 2006 10:22 Abstract: This paper describes ST (StringTemplate), a domain-specific functional language for generating structured text from internal data structures that has the flavor of an output grammar. ST's feature set is driven by solving real problems encountered in complicated systems such as ANTLR version 3's retargetable code generator. Features include template group inheritance, template polymorphism, lazy evaluation, recursion, output auto-indentation, and the new notions of group interfaces and template regions. Experience shows that ST is easy to learn and satisfying to use. ST's primary contribution is the clear identification and implementation of a tightly-bracketed solution to the problem of rendering data structures to text, as dictated by the nature of generation and the critical goal of strictly separating the generation logic from the output templates. First, the very nature of code generation suggests the use of a generational grammar. Next, enforcing separation of the generation logic from the output templates restricts the template language syntactically and semantically in such way that templates are easily shown to be equivalent to a grammar. Finally, the rules of separation, such as side-effect free expressions, coincide with the fundamentals of pure, functional programming. |
||||||||||||||||||||||||||||||||||||