NetUIを使ったWebアプリケーションは下記のコンポーネントで構成される。
ページの遷移とビジネスロジックの呼び出しを行うコンポーネント。.jpf という独特の拡張子を持つが、NetUIフレームワークのルールに従って、通常の(ただし、JDK1.5対応の)Javaソースコードと同様の記述を行う。MVCのCに相当するコンポーネント。
NetUIから提供されるカスタムタグを使って画面レイアウト、デザインを記述する。MVCのVに相当するコンポーネント。
jpfファイルは、画面の遷移制御とビジネスロジックの呼び出しを行うコンポーネントだ。拡張子は.jpfと独特だが、通常のJavaクラスと同様に作成する。
クラスはorg.apache.beehive.netui.pageflow.PageFlowController を継承したクラスとして作成し、@Jpf.Controller というAnotationを行う。
jpfファイルにはアクションメソッドと呼ばれるメソッドを記述する。メソッド名は任意だが、戻り値はorg.apache.beehive.netui.pageflow.Forward型で、@Jpf.Action というAnotationを行うのが作成のルールだ。@Jpf.Action は引数を持つ、フル・アノテーションと呼ばれる方法で記述する。必須の属性はnameとpathだ。次の記述例は、toPage2 というアクションが要求されると、page2.jsp へ遷移するように実装した例だ。
リスト4■Contoroller.jpf |
import org.apache.beehive.netui.pageflow.Forward; import org.apache.beehive.netui.pageflow.PageFlowController; import org.apache.beehive.netui.pageflow.annotations.Jpf; @Jpf.Controller public class Controller extends PageFlowController { @Jpf.Action( forwards={ @Jpf.Forward(name="success", path="index.jsp") } ) protected Forward begin() { return new Forward("success"); } @Jpf.Action( forwards={ @Jpf.Forward(name="success", path="page2.jsp") } ) public Forward toPage2() { return new Forward("success"); } } |
JSPページは、NetUIフレームワークから提供されるカスタムタグを使って作成する。
jpfファイルに記述したアクションメソッドをJSPページから呼び出すには、フォームのサブミット、またはハイパーリンクを使用する。次の記述例は、toPage2 というアクションを要求するハイパーリンクの実装例だ。ハイパーリンクを実装するには、netui:anchor タグを使い、action属性にアクションメソッド名を指定する。
リスト5■index.jsp |
<%@ page language="java" contentType="text/html;charset=UTF-8"%> <%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%> <netui:html> <head> <title>index.jsp</title> <netui:base/> </head> <netui:body> <p> index.jsp </p> <p> <netui:anchor action="toPage2">Link to page2.jsp</netui:anchor> </p> </netui:body> </netui:html> |
Copyright © ITmedia, Inc. All Rights Reserved.