Tutorial(1)
DOM Tree
package org.ruler.markup.tutorial;

import org.ruler.markup.api.Code;
import org.ruler.markup.api.Http;
import org.ruler.markup.api.Mount;
import org.ruler.markup.api.Node;
import org.ruler.markup.api.Page;
import org.ruler.markup.api.Type;

@Mount(path={"/index.html", "/home.page", "/tutorial1"})
public class Tutorial1 extends Page {

	@Override
	public void action(Http http) {

		/** HTTP GET METHOD. */
		http.GET = (event) -> {

			/** Create DOM Tree. */
			Node html = new Node();
			html.tag("html");

			Node body = new Node();
			body.tag("body");
			body.in(html);

			Node div = new Node();
			div.tag("div").text("Tutorial2").br().text("hello world").br().attr("style", "font-size:32px;").in(body);

			Node copy = new Node(div);
			copy.in(body);

			/** HTTP config. */
			event.code(Code.OK_200); // HTTP Status Code. default value is OK(200).

			event.type(Type.html); // HTTP Content Type(MIME TYPE). default type is HTML.
			//e.type(Type.xml) for AJAX or REST.
			//e.type(Type.binary) for download ZIP or something.

			/** Render. */
			event.draw(html);
		};

		/** HTTP POST METHOD. */
		//http.POST = (event) -> { ... };

	}

}

デプロイ
ソースコードをコンパイルしたら、[WEB-INF/lib] , [WEB-INF/classes]にデプロイしてください。

実行
サーバー(Tomcat)を起動して、Webブラウザで登録された3つのパスのどれかを開いてみてください。
例. http://localhost:8080/MyApplication(ContextRoot)/turorial1
("/index.html", "/home.page", "/tutorial1")
HTMLページが表示され、hello worldと表示されたら成功です。

[結果]
<?xml version="1.0" encoding="UTF-8"?>

<html>
	<body>
		<div style="font-size:32px;">Tutorial2<br/>hello world<br/></div>
		<div style="font-size:32px;">Tutorial2<br/>hello world<br/></div>
	<body>
</html>

仕組み
@MountアノテーションによってURLと関連付けられたPageクラスは、
アクセスごとにnew()されてaction(Http http)が呼び出されます。