text: $ erubis -b -l java example.ejava
  
  import java.util.*;
  
  public class Example {
    private String user;
    private String[] list;
    public example(String user, String[] list) {
      this.user = user;
      this.list = list;
    }
  
    public String view() {
      StringBuffer _buf = new StringBuffer();
  
  _buf.append("<html>\n"
            + " <body>\n"
            + "  <p>Hello "); _buf.append(user); _buf.append("!</p>\n"
            + "  <table>\n"
            + "   <tbody>\n");
       for (int i = 0; i < list.length; i++) { 
  _buf.append("    <tr bgcolor=\""); _buf.append(i % 2 == 0 ? "#FFCCCC" : "#CCCCFF"); _buf.append("\">\n"
            + "     <td>"); _buf.append(i + 1); _buf.append("</td>\n"
            + "     <td>"); _buf.append(escape(list[i])); _buf.append("</td>\n"
            + "    </tr>\n");
       } 
  _buf.append("   </tbody>\n"
            + "  </table>\n"
            + " <body>\n"
            + "</html>\n");
  
      return _buf.toString();
    }
  
    public static void main(String[] args) {
      String[] list = { "<aaa>", "b&b", "\"ccc\"" };
      Example ex = Example.new("Erubis", list);
      System.out.print(ex.view());
    }
  
    public static String escape(String s) {
      StringBuffer sb = new StringBuffer();
      for (int i = 0; i < s.length(); i++) {
        char ch = s.charAt(i);
        switch (ch) {
        case '<':   sb.append("&lt;"); break;
        case '>':   sb.append("&gt;"); break;
        case '&':   sb.append("&amp;"); break;
        case '"':   sb.append("&quot;"); break;
        default:    sb.append(ch);
        }
      }
      return sb.toString();
    }
  }
  
  