Google App Engine にて MVC 的な実装

on 2010/10/11 - -

Struts とか Spring MVC とか使いたいけど、XML とかめんどすぎ。
ということでとりあえず自前で実装。

1.Servlet の doPost(),doGet() 内で処理を振り分け

2.振り分けた処理の中で、Bean を完成させてリクエストにセットし、
  それぞれの適当な JSP にディスパッチ

3.JSP の中で Bean を取り出して、表示

たぶんこんな感じ。

Google App Engine 固有の問題ではないけど、JSP の中で Bean を取り出すところではまった。

・Servlet 内で以下のようにすると、単に Redirect するだけなので、Request が引き継がれない。(Google App Engine の Tutorial はこっちなので注意ですね)


request.setAttribute("attrName", attr);

response.sendRedirect("/forward.jsp"); // 単にリダイレクトするだけ


・正しくは以下。


request.setAttribute("attrName", attr);

DequestDispatcher dispatch = req.getRequestDispatcher("/forward.jsp");
dispatch.forward(request, response);


これでちゃんと JSP で Bean を取り出せました。

No comments :