■作成するファイル一覧 sendMessage.jsp (入力画面) 名前、メールアドレス、メッセージを入力して送信するページ。 showMessage.jsp (返信出力画面) 送られてきたデータを表示するページ。 SendMessageForm.java (フォームデータ格納系クラス) アクションフォームBean。sendMessage.jspファイルの中のフォームに対応するクラスです。validateメソッドに入力値のチェックを記述します。 SendMessageAction.java (本処理実行クラス)アクションクラス。sendMessage.jspファイルからのデータ送信の動作に対応するクラスです。performメソッドにビジネスロジックを記述します。 ----------------------------------------------------------------------------------------------- @ sendMessage.jsp(プロジェクト直下に置く) <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <bean:message key="sendMessage.title"/> ERROR: Application resources not loaded -- check servlet container logs for error messages.





---------------------------------------------------------------------------------------------------- A showMessage.jsp(プロジェクト直下に置く) <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <bean:message key="showMessage.title"/>




---------------------------------------------------------------------------------------------------- B SendMessageForm.java  (formdataパッケージに所属させる・WEB-INF/src直下に置く) package formdata; import javax.servlet.http.*; import org.apache.struts.action.*; /** * アクションフォームBeanクラス * ActionFormを継承します */ public final class SendMessageForm extends ActionForm { private String name; private String email; private String message; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setEmail(String email) { this.email = email; } public String getEmail() { return email; } public void setMessage(String message) { this.message = message; } public String getMessage() { return message; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // エラーを格納するActionErrorsオブジェクトを作成 ActionErrors errors = new ActionErrors(); // 入力チェック if (name == null || name.equals("")) { // ActionErrorオブジェクトを作成して格納 // ActionErrorオブジェクトのコンストラクタの第1引数は // リソースファイルに記述してあるキーを渡す errors.add("name" , new ActionError("error.name.required")); } if (email == null || email.equals("")) { errors.add("email", new ActionError("error.email.required")); } if (message == null || message.equals("")) { errors.add("message" , new ActionError("error.message.required")); } return errors; } }//end_of_class ---------------------------------------------------------------------------------------------------- C SendMessageAction.java  (strutAactions パッケージに所属させる・WEB-INF/src直下に置く) package strutAactions; import javax.servlet.http.*; import org.apache.struts.action.*; /** * アクションクラス * Actionを継承します */ public final class SendMessageAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // メッセージが格納されたフォームBeanを取得します SendMessageForm sendMessageForm = (SendMessageForm)form; // 値を取得 String name = sendMessageForm.getName(); String email = sendMessageForm.getEmail(); String message = sendMessageForm.getMessage(); /*** 本来であればここにビジネスロジック(本処理…たとえばDB登録など)を記述 ***/ // "success"という名前で登録されている転送先を検索して返却 // (struts-config.xmlファイルに記述されている) return (mapping.findForward("success")); } } ---------------------------------------------------------------------------------------------------- D Strutsの設定ファイル(struts-config.xml)の編集 ---------------------------------------------------------------------------------------------------- E メッセージリソースファイル(application.properties)の編集とnative2asciiコマンドでユニコード変換 sendMessage.title=送信フォーム sendMessage.heading=メッセージの送信 sendMessage.message=お名前、メールアドレス、メッセージを入力して送信ボタンを押してください。 sendMessage.form.name=お名前 sendMessage.form.email=メールアドレス sendMessage.form.message=メッセージ showMessage.title=送信されたメッセージ showMessage.heading=送信されたメッセージ errors.header=

エラーがあります


---------------------------------------------------------------------------------------------------- error.name.required=
  • お名前を入力してください。
  • error.email.required=
  • メールアドレスを入力してください。
  • error.message.required=
  • メッセージを入力してください。