特集:Apache Beehiveとは何か――BEAがOSSで築くSOA基盤dev Java(4/7 ページ)

» 2004年11月08日 13時00分 公開
[阿島哲夫(カサレアル),ITmedia]

NetUIによるWebアプリケーションの作成

 NetUIを使ったWebアプリケーションは下記のコンポーネントで構成される。

  • jpfファイル

 ページの遷移とビジネスロジックの呼び出しを行うコンポーネント。.jpf という独特の拡張子を持つが、NetUIフレームワークのルールに従って、通常の(ただし、JDK1.5対応の)Javaソースコードと同様の記述を行う。MVCのCに相当するコンポーネント。

  • JSPページ

 NetUIから提供されるカスタムタグを使って画面レイアウト、デザインを記述する。MVCのVに相当するコンポーネント。

jpfファイルの作成

 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ページの作成

 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.

注目のテーマ