この手順では、アプリケーションにデータ グリッドを追加します。データ グリッドは、データを HTML テーブルとして表示するように設計されている一連の JSP タグです。これは、データベース データの表示用に特に有効です。データ グリッドはデータベース フィールドをテーブルのカラムとして表示し、データベース レコードをテーブルの行として表示します。
この手順のタスクは以下のとおりです。
この手順では、新しい JSP を作成し、ページ フローのナビゲーション スキーム内に配置します。この JSP は、getCustomers() アクションが呼び出されると表示されます。
@Jpf.Forward(name = "success", path = ""
)。注意 : Java メソッドと同様に、ページで受け取りが期待されているデータの名前と型を NetUI declarePageInput タグを使用して宣言できます。
ページ フロー アクションは、アクション出力を介して、期待されるデータをページに渡します。アクション出力は、アクションのメソッド内の Forward オブジェクトに追加されます。対応するアクション出力アノテーションは、渡されるデータの名前と型を、次のコードに示すように宣言します。
@Jpf.Action( ... actionOutputs = { @Jpf.ActionOutput( name="getCustomersResult", type = model.Customer[].class) } ... ) public Forward getCustomers() {
アクションが予想外のデータ型を渡す場合、実行時例外が送出されます。
[ページ フロー エディタ] では、アクション出力は、転送を表す矢印上に小さい四角のアイコンで表されます。
上記のように転送の送り先が指定されていない場合は、[ページ フロー エクスプローラ] で新しいページを送り先として作成することで、一致したページ入力宣言がページに自動的に追加されます。
<netui-data:declarePageInput name="getCustomersResult" type="model.Customer[]" required="true" />
アクション出力またはページ入力の宣言を編集する必要がある場合は、アクションと JSP ページとの間にまたがる矢印を右クリックして、[アクション出力を編集] を選択します。表示されるエディタを使用すると、アクション出力アノテーションとページ入力タグの両方を編集できます。それらは必ず一致するようにします。
このタスクでは、Java オブジェクトを HTML テーブルとして表示するように特別に設計されている一連の JSP タグ (<netui-data:dataGrid>、<netui-data:rows> など) を追加します。
この時点で、以下のデータ グリッドが customers.jsp ページに追加されました。
<netui-data:dataGrid name="getCustomersResultGrid" dataSource="pageInput.getCustomersResult"> <netui-data:configurePager disableDefaultPager="true" /> <netui-data:header> <netui-data:headerCell headerText="Edit" /> <netui-data:headerCell headerText="Id" /> <netui-data:headerCell headerText="First Name" /> <netui-data:headerCell headerText="Last Name" /> <netui-data:headerCell headerText="Company Name" /> <netui-data:headerCell headerText="City" /> <netui-data:headerCell headerText="State" /> <netui-data:headerCell headerText="Zip" /> <netui-data:headerCell headerText="Phone" /> <netui-data:headerCell headerText="Email" /> </netui-data:header> <netui-data:rows> <netui-data:anchorCell value="Edit" action="getCustomerById"> <netui:parameter name="id" value="${container.item.id}" /> </netui-data:anchorCell> <netui-data:spanCell value="${container.item.id}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.firstName}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.lastName}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.companyName}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.city}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.state}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.zip}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.phone}"> </netui-data:spanCell> <netui-data:spanCell value="${container.item.email}"> </netui-data:spanCell> </netui-data:rows> </netui-data:dataGrid>
チュートリアルを移動するには、矢印をクリックしてください。