目次 > 第2章 Server(Web)版チュートリアル > 2.6 登録処理 > 2.6.1 アクションフォームクラスと画面の作成
2.6.1 アクションフォームクラスと画面の作成
本項では、「登録画面」および「結果画面」と、「登録画面」にて入力される「ID」、「名前」、「年齢」、「生年月日」を格納するアクションフォームクラスを作成する。
アクションフォームクラスについては「2.4 ログオン/ログオフ 2.4.1 アクションフォームクラスの作成と設定」を参照のこと。
手順
本項では以下の作業が必要になる。
(1) アクションフォームクラスの作成
- “terasoluna-spring-thin-blank\sources”を右クリックする。
- 「新規」→「クラス」を選択する。
- 以下の通り入力し、「終了」ボタンを押下する。
- パッケージ:jp.terasoluna.thin.tutorial.web.usermanager.form
- 名前:UserManagerForm
- スーパークラス:jp.terasoluna.fw.web.struts.form.ValidatorActionFormEx
- 生成されたUserManagerFormクラスを以下のように編集する。
package jp.terasoluna.thin.tutorial.web.usermanager.form; import jp.terasoluna.fw.web.struts.form.ValidatorActionFormEx; /** * ユーザー管理業務で使用するアクションフォーム。 * */ public class UserManagerForm extends ValidatorActionFormEx { /** * シリアルバージョンID。 */ private static final long serialVersionUID = 1L; /** * ID。 */ private Long id = null; /** * 名前。 */ private String name = null; /** * 年齢。 */ private String age = null; /** * 生年月日。 */ private String birth = null; /** * IDを返却する。 * * @return 保持するID */ public Long getId() { return id; } /** * IDを設定する。 * * @param id ID */ public void setId(Long id) { this.id = id; } /** * 名前を返却する。 * * @return 保持する名前 */ public String getName() { return name; } /** * 名前を設定する。 * * @param name 名前 */ public void setName(String name) { this.name = name; } /** * 年齢を返却する。 * * @return 保持する年齢 */ public String getAge() { return age; } /** * 年齢を設定する。 * * @param age 年齢 */ public void setAge(String age) { this.age = age; } /** * 生年月日を返却する。 * * @return 保持する生年月日 */ public String getBirth() { return birth; } /** * 生年月日を設定する。 * * @param birth 生年月日 */ public void setBirth(String birth) { this.birth = birth; } }
(2) Struts設定ファイルの編集
生成したアクションフォームクラスをStruts設定ファイルに設定する。
- “terasoluna-spring-thin-blank\webapps\WEB-INF\userManager\struts-userManager-config.xml”を開き、以下の箇所にアクションフォームを設定する。
<!-- ======================================== フォームビーン定義 --> <form-beans> <!-- ユーザ管理用アクションフォーム --> <form-bean name="_userManagerForm" type="jp.terasoluna.thin.tutorial.web.usermanager.form.UserManagerForm" /> </form-beans>
(3) 登録画面の編集
「登録画面」に入力フォームを追加する。
- “terasoluna-spring-thin-blank\webapps\userManager\insert.jsp”を開き、以下のように編集する。
<%@ page contentType="text/html; charset=Windows-31J"%> <%@ taglib uri="/struts-html" prefix="html" %> <%@ taglib uri="/struts-bean" prefix="bean" %> <%@ taglib uri="/struts-logic" prefix="logic" %> <%@ taglib uri="/terasoluna-struts" prefix="ts" %> <%@ taglib uri="/terasoluna" prefix="t" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>登録画面</title> </head> <body> <table border="0" style="width:100%;"> <tr> <td align="center"> <html:img module="/" page="/image/terasoluna_logo.gif" /> </td> </tr> <tr> <td align="center"> <h2> 登録画面 </h2> </td> </tr> </table> <!-- ここから ---> <ts:form action="/userManager/insertBL"> <fieldset style="border:2pt solid black;padding:20px;width:100%;"> <legend style="font-weight:bold;"> 登録情報入力 </legend><p> <table border="0" frame="box"> <tr> <td valign="top"> <table frame="box"> <tr> <td align="center" width="50"> ID </td> <td width="200"> <html:text name="_userManagerForm" property="id" maxlength="10" /> <br><span style="font-size:xx-small; color:red">(必須入力,数字のみ10桁以内))</span> </td> </tr> <tr> <td align="center" width="50"> NAME </td> <td width="200"> <html:text name="_userManagerForm" property="name" maxlength="20" /> <br><span style="font-size:xx-small; color:red">(必須入力,20桁以内))</span> </td> </tr> <tr> <td align="center" width="50"> AGE </td> <td width="200"> <html:text name="_userManagerForm" property="age" maxlength="3" /> <br><span style="font-size:xx-small; color:red">(必須入力,数字のみ3桁以内))</span> </td> </tr> <tr> <td align="center" width="50"> BIRTH </td> <td width="200"> <html:text name="_userManagerForm" property="birth" maxlength="10" /> <br><span style="font-size:xx-small; color:red">(yyyy/MM/dd形式))</span> </td> </tr> </table> </td> </tr> <tr> <td> <ts:submit value="登録" /> </td> </tr> </table> </fieldset> <hr> <ts:link page="/logon/menuSCR.do">メニュー</ts:link> </ts:form> <!-- ここまで --> </body> </html:html>
(4) 結果画面の作成
- “terasoluna-spring-thin-blank\webapps\userManager”に、「結果画面」の“result.jsp”を作成し、以下のように編集する。
<%@ page contentType="text/html; charset=Windows-31J"%> <%@ taglib uri="/struts-html" prefix="html" %> <%@ taglib uri="/struts-bean" prefix="bean" %> <%@ taglib uri="/struts-logic" prefix="logic" %> <%@ taglib uri="/terasoluna-struts" prefix="ts" %> <%@ taglib uri="/terasoluna" prefix="t" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>結果画面</title> </head> <body> <table border="0" style="width:100%;"> <tr> <td align="center"> <html:img module="/" page="/image/terasoluna_logo.gif" /> </td> </tr> <tr> <td align="center"> <h2> 結果画面 </h2> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <br> <ts:link action="/logon/menuSCR.do">メニュー</ts:link> </body> </html:html>