![]() |
![]() |
Javaで必要なファイル
ファイル名 | 概説 | 機能説明 |
insert.jsp | 表示する画面 | フォームと項目が一致している必要があります |
InsertAction.java | 処理ロジック | 登録を起動するクラス |
InsertGoAction.java | データベース登録をおこなうクラス | |
InsertForm.java | フォーム定義 | データベース表示情報 |
登録フォームのみで入力チェックをおこなわせたいので分けてあります(他はチェックしない)。
insert.jsp

入力されたログインIDを表示させてセッションが有効なのを確認できます。
InsertForm.java
package frmapl; import org.apache.struts.action.*; import javax.servlet.http.HttpServletRequest; import org.apache.struts.validator.*; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionMapping; public final class InsertForm extends ValidatorForm { private String i_id = ""; private String i_yomigana = ""; private String i_name = ""; private String i_telphone = ""; private String i_fax = ""; private String i_zip = ""; private String i_address = ""; private String i_remarks = ""; private String id_number = ""; public void setId( String value) { this.i_id = value; } public String getId() { return this.i_id; } public void setYomigana( String value) { this.i_yomigana = value; } public String getYomigana() { return this.i_yomigana; } public void setName( String value) { this.i_name = value; } public String getName() { return this.i_name; } public void setTelphone( String value) { this.i_telphone = value; } public String getTelphone() { return this.i_telphone; } public void setFax( String value) { this.i_fax = value; } public String getFax() { return this.i_fax; } public void setZip( String value) { this.i_zip = value; } public String getZip() { return this.i_zip; } public void setAddress( String value) { this.i_address = value; } public String getAddress() { return this.i_address; } public void setRemarks( String value) { this.i_remarks = value; } public String getRemarks() { return this.i_remarks; } /* 選択したデータ番号 */ public void setId_number(String value) { this.id_number = value; } public String getId_number() { return this.id_number; } } |
入力チェックのロジックがないですが、チェックされます。
InsertAction.java
package frmapl; import frmapl.UserId; import mypackage.NameTable; import java.sql.*; import java.util.*; import javax.sql.*; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.*; import org.apache.struts.action.*; import org.apache.struts.validator.*; import java.io.*; import javax.naming.*; public final class InsertAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) throws Exception, ServletException, IOException { boolean fg = isCancelled(request); if (fg){ return (mapping.findForward("success")); } else { return (mapping.findForward("success")); } } } |
InsertGoAction.java
package frmapl; import frmapl.UserId; import mypackage.NameTable; import java.sql.*; import java.util.*; import javax.sql.*; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.*; import org.apache.struts.action.*; import org.apache.struts.validator.*; import java.io.*; import javax.naming.*; public final class InsertGoAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) throws Exception, ServletException, IOException { boolean fg = isCancelled(request); if (fg){ return (mapping.findForward("success")); } else { InitialContext ic = new InitialContext(); DataSource ds = (DataSource)ic.lookup("java:comp/env/MySQL_DBCP"); Connection conn = ds.getConnection(); PreparedStatement stmt = null; InsertForm dform = (InsertForm)form; // キャスト // データベース登録 { if (conn != null) { stmt = conn.prepareStatement( "INSERT INTO nametable " + "(yomigana, name, telphone, fax, zip, address, remarks)" + "VALUES(?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, dform.getYomigana()); stmt.setString(2, dform.getName()); stmt.setString(3, dform.getTelphone()); stmt.setString(4, dform.getFax()); stmt.setString(5, dform.getZip()); stmt.setString(6, dform.getAddress()); stmt.setString(7, dform.getRemarks()); int resultCnt = stmt.executeUpdate(); conn.close(); } } } return (mapping.findForward("success")); } } |
●データベースに登録して正常終了を返します。
キャンセルボタンが押された場合にも正常終了を返しています(トップ画面に戻るだけ)。
(注意)ここでは基本処理ロジックのみを作成して、エラー処理は組み込んでおりません。
struts-config.xml

validatorを使って入力チェックをするので、その準備作業です。
(ログインでは、validateメソッドなので不要でした)
validator機能を利用するためには、「commons-validator.jar」が必要です。
validation.xml

名前(name)のみチェック対象に設定しています。
「validator-rules.xml」が必要ですが、デフォルトのままで修正はありません。