まるでServlet3.0です。本当にありが(ry

T2をServlet3.0風に使ってみた。
多分これが一番プリミティブな使い方だと思う。


以下の例だと、通常のWebアプリからはGET/POSTなので、@Defaultがついたメソッドは
呼ばれることはないです。リクエストしたときも@GETのほうが呼ばれる。
HEADとかTRACEとかPUTとかすると、@Defaultのメソッドが呼ばれます。

/**
 * This example shows you T2 can do like Servlet3.0:P
 * 
 * @author shot
 * 
 */
@RequestScope
@Page("getandpost")
public class GetAndPostPage {

	@Default
	public Navigation index(TeedaContext context) {
		System.out.println("called");
		return Redirect.to("jsp/simpleGetAndPost.jsp");
	}

	@POST
	public Navigation post(HttpServletRequest request,
			HttpServletResponse response) {
		request.setAttribute("message", "Do POST.");
		return Forward.to("jsp/simpleGetAndPost.jsp");
	}

	@GET
	public Navigation get(HttpServletRequest request,
			HttpServletResponse response) {
		request.setAttribute("message", "Do GET.");
		return Forward.to("jsp/simpleGetAndPost.jsp");
	}

}