[新しいアクション] ウィザード

このウィザードでは、NetUI コントローラ クラスの新しいアクションを作成できます。

このウィザードを開く方法

このウィザードを開くには、以下の 3 つの方法があります。

このウィザードの使用方法

このウィザードには、さまざまな種類のアクションを作成するためのテンプレートが豊富に用意されています。テンプレートは、[アクション テンプレート] という名前のドロップダウン リストから選択します。

以下の表に、利用可能な各テンプレートについての説明と、各テンプレートによって作成される標準的なアクション コードを示します。

[アクション テンプレート] の説明

テンプレート 説明
[単純な宣言アクション]

@Jpf.SimpleAction アノテーションをコントローラ クラスに追加する。

    @Jpf.Controller(simpleActions = {
        @Jpf.SimpleAction(name = "simpleDeclarativeAction", ...) }
    public class CustomerManagementController extends PageFlowController
[基本のメソッド アクション]

最小限のアクション メソッドをコントローラ クラスに追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp") })
    public Forward basicMethodAction(FormBean form) {
        Forward forward = new Forward("success");
        return forward;
    }
[コントロール メソッドの呼び出し]

(1) フォーム Bean パラメータをとり (コントロール メソッドが入力をとる場合)、(2) コントロール メソッドを呼び出し、(3) コントロール メソッドの結果をページ入力に転送する (コントロール メソッドが void 以外の戻り値を返す場合) アクション メソッドを追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
    public Forward controlMethodCall(FormBean form) {
        Forward forward = new Forward("success");
        java.lang.Integer id = form.getCustomer().getId();
        model.Customer returnValueName = customerControl.getCustomerById(id);
        forward.addActionOutput("returnValueName", returnValueName);
        return forward;
    }
[コントロールを使用して表示する項目の取得]

ユーザ リクエストから項目を取得し、その項目をアクション出力として JSP ページ入力に転送するアクションを追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
    public Forward getItemForDisplay() {
        Forward forward = new Forward("success");
        String param1 = getRequest().getParameter("id");
        java.lang.Integer id = TypeUtils.convertToIntegerObject(param1);
        model.Customer returnValueName = customerControl.getCustomerById(id);
        forward.addActionOutput("returnValueName", returnValueName);
        return forward;
    }
[コントロールを使用して編集する項目の取得]

ユーザ リクエストから項目を取得し、出力フォームとしてその項目を転送するアクションを追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp") })
    public Forward getItemForEdit() {
        Forward forward = new Forward("success");
        String param1 = getRequest().getParameter("id");
        java.lang.Integer id = TypeUtils.convertToIntegerObject(param1);
        model.Customer returnValueName = customerControl.getCustomerById(id);
        GetItemForEditFormBean outputForm = new GetItemForEditFormBean();
        outputForm.setReturnValueName(returnValueName);
        forward.addOutputForm(outputForm);
        return forward;
    }
[コントロールを使用した項目の削除]

ユーザ リクエストから項目を取得し、コントロールの削除メソッドを呼び出すアクションを追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
    public Forward deleteItem() {
        Forward forward = new Forward("success");
        String param1 = getRequest().getParameter("id");
        java.lang.Integer id = TypeUtils.convertToIntegerObject(param1);
        model.Customer returnValueName = customerControl.deleteCustomerById(id);
        forward.addActionOutput("returnValueName", returnValueName);
        return forward;
    }
[コントロールを使用した項目の追加]

送信フォームからデータを取得し、コントロールの追加メソッドを呼び出すアクションを追加する。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
    public Forward addItem(FormBean form) {
        Forward forward = new Forward("success");
        java.lang.Integer id = form.getCustomer().getId();
        model.Customer returnValueName = customerControl.getCustomerById(id);
        forward.addActionOutput("returnValueName", returnValueName);
        return forward;
    }
[コントロールを使用した項目の更新]

送信フォームからデータを取得し、コントロールの更新メソッドを呼び出す。

    @Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
    public Forward updateItem(FormBean form) {
        Forward forward = new Forward("success");
        java.lang.Integer id = form.getCustomer().getId();
        model.Customer returnValueName = customerControl.getCustomerById(id);
        forward.addActionOutput("returnValueName", returnValueName);
        return forward;
    }

以下の表では、アクション テンプレートの各フィールドの役割について説明します。

フィールドの説明

フィールド 説明
[アクション名]

アクション名を指定する。メソッド アクションの場合、ここで指定した名前がメソッド名となる。

    public Forward actionName()

単純なアクションの場合、ここで指定した名前が @Jpf.SimpleAction アノテーションの name 属性になる。

    @Jpf.Controller(simpleActions = { @Jpf.SimpleAction(name = "actionName", ...)

[コントロール]

アクションによって呼び出されるコントロール クラスを指定する (以下の太字を参照)。

	@Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
	public Forward actionName(FormBean form) {
		Forward forward = new Forward("success");
		java.lang.Integer id = form.getCustomer().getId();
		model.Customer returnValueName = customerControl.getCustomerById(id);
		forward.addActionOutput("returnValueName", returnValueName);
		return forward;
	}
[コントロール メソッド]

アクションによって呼び出されるコントロール メソッドを指定する (以下の太字を参照)。

	@Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
	public Forward actionName(FormBean form) {
		Forward forward = new Forward("success");
		java.lang.Integer id = form.getCustomer().getId();
		model.Customer returnValueName = customerControl.getCustomerById(id);
		forward.addActionOutput("returnValueName", returnValueName);
		return forward;
	}
[フォーム Bean]

アクション メソッドのパラメータ (フォーム Bean) を指定する。

	@Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
	public Forward actionName(FormBean form) {
		Forward forward = new Forward("success");
		java.lang.Integer id = form.getCustomer().getId();
		model.Customer returnValueName = customerControl.getCustomerById(id);
		forward.addActionOutput("returnValueName", returnValueName);
		return forward;
	}
[転送先]

このアクションの対象となるアクションまたは JSP ページを指定する。

	@Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
	public Forward actionName(FormBean form) {
		Forward forward = new Forward("success");
		java.lang.Integer id = form.getCustomer().getId();
		model.Customer returnValueName = customerControl.getCustomerById(id);
		forward.addActionOutput("returnValueName", returnValueName);
		return forward;
	}
[戻り値の名前]

コントロール メソッドの呼び出しによって返されるデータの変数名を指定する (以下の太字を参照)。

	@Jpf.Action(forwards = { @Jpf.Forward(name = "success", path = "customers.jsp", actionOutputs = { @Jpf.ActionOutput(name = "returnValueName", type = model.Customer.class) }) })
	public Forward actionName(FormBean form) {
		Forward forward = new Forward("success");
		java.lang.Integer id = form.getCustomer().getId();
		model.Customer returnValueName = customerControl.getCustomerById(id);
		forward.addActionOutput("returnValueName", returnValueName);
		return forward;
	}

関連トピック

チュートリアル : Web アプリケーションからコントロールへのアクセス : 手順 3 : データ グリッドを作成する

チュートリアル : Web アプリケーションからコントロールへのアクセス : 手順 4 : 顧客データを編集するためのページを作成する

NetUI ドキュメント : Actions


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。