Fork me on GitHub

Rendering Raw HTML Tutorial

This tutorial demonstrates the rendering of raw HTML for a WoOF web application.

The example used in this tutorial is the following simple page:

RawHttpServer screen shot.

Tutorial Source

Template.woof.html

The HTML for the page is as follows:

<html>
<body>
	${rawHtml}
</body>
</html>

This is similar HTML to previous tutorials.

TemplateLogic Class

The logic for the rendering the page is the following POJO (plain old java object).

public class TemplateLogic {

	/**
	 * Able to use <code>this</code> as bean for populating.
	 * 
	 * @return {@link TemplateLogic} to provide properties.
	 */
	public TemplateLogic getTemplateData() {
		return this;
	}

	/**
	 * Provides the raw HTML to render. It is not escaped due to the
	 * {@link NotEscaped} annotation.
	 * 
	 * @return Raw HTML to render.
	 */
	@NotEscaped
	public String getRawHtml() {
		return "<p style=\"color: blue\">" + "<img src=\"./images/OfficeFloorLogo.png\" />"
				+ " Web on OfficeFloor (WoOF)</p>";
	}

}

To generate HTML for the page and not have it automatically escaped by WoOF, annotate the property method with @NotEscaped. This informs WoOF to not escape the property value and render it as is.

This is a very simple example. More complex use of this would be presentation beans that provide dynamic generation of HTML. Please however consider using the ${bean ... $} tag first before generating raw HTML, as the tag will provide the necessary functionality in the majority of cases.

Next

The next tutorial looks at serving AJAX requests.