Use Templates for Repeated Content
In addition to using XML for content, some applications benefit from using templating engines for content generation. This approach allows easy maintenance of standard email messages (such as notifications, account management messages, and errors) in which the main content remains consistent, but individual details (such as account names, passwords, and confirmations) vary from message to message.
A templating engine takes a plain-text template, replaces placeholding elements with data, and returns the result to the client. The enterprise development world is littered with examples, the most important of which is JavaServer Pages (JSP).
Example 10-2 shows a templated email using the
Velocity template system from the Apache Jakarta project (for more
information on Velocity, see http://jakarta.apache.org/velocity). Velocity
takes this template and replaces the $username and
$password lines with the data provided for it.
You have been added to our system! Your login information is: . . . Username: $username Password: $password . . . Please do not give these out to anyone. For assistance, please contact customer support at 212-555-2333
Example 10-3 shows a small Java program that starts Velocity, provides the new username and password values, processes the template, and sends the email. For brevity, I accept the new username and password as read, but you can integrate this code into a Java servlet or other environment to easily ...