API Reference 0.3.24dart_web_toolkit_utilSafeHtmlTemplates

SafeHtmlTemplates abstract class

A tag interface that facilitates compile-time binding of HTML templates to generate SafeHtml strings.

Example usage:

  public interface MyTemplate extends SafeHtmlTemplates {
    @Template("<span class=\"{3}\">{0}: <a href=\"{1}\">{2}</a></span>")
    SafeHtml messageWithLink(SafeHtml message, String url, String linkText,
      String style);
  }

private static final MyTemplate TEMPLATE = GWT.create(MyTemplate.class);

public void useTemplate(...) {

SafeHtml message;
String url;
String linkText;
String style;
// ...
SafeHtml messageWithLink =
  TEMPLATE.messageWithLink(message, url, linkText, style);

} </pre>

Instantiating a {@code SafeHtmlTemplates} interface with {@code GWT.create()} returns an instance of an implementation that is generated at compile time. The code generator parses the value of each template method's {@code @Template} annotation as an HTML template, with template variables denoted by curly-brace placeholders that refer by index to the corresponding template method parameter.

The code generator's template parser is lenient, and will accept HTML that is not well-formed; the accepted set of HTML is similar to what is typically accepted by browsers. However, the following constraints on the HTML template are enforced:

  1. Template variables may not appear in a JavaScript context (inside a {@code