環境 eclipse4.3 windows8.1 local環境でのMYSQL
従来 エラーが表示されるようになったが条件を無視し常にエラーメッセージが表示されている
改善するためにif文を追加
結果 500サーブレットが作動しませんメッセージ
理想 条件のときのみエラーを表示しactionのエラーをなくしたい
Action
1public class MailAction extends LookupDispatchAction { 2 3 protected Map<String,String> getKeyMethodMap() { 4 // キーとメソッドの対応を登録する 5 Map<String,String> map = new HashMap<String,String>(); 6 map.put("firster","lookupDispatchA"); 7 map.put("forgets","lookupDispatchB"); 8 return map; 9 } 10 11 12 13 private String dbName="staff"; 14 private String user = "root"; 15 private String pass = ""; 16 17 18 19 20 21 public ActionForward lookupDispatchA (ActionMapping mapping 22 ,ActionForm form 23 ,HttpServletRequest request 24 ,HttpServletResponse response) throws Exception { 25 request.setCharacterEncoding("UTF-8"); 26 27 Mailform frm = (Mailform)form; 28 String name = frm.getName(); 29 String address = frm.getAddress(); 30 String pwd = frm.getPwd(); 31 32 System.out.println(pwd); 33 34 35 36 //actionMessaages作成 37 ActionMessages errbox = new ActionMessages(); 38 ActionMessage errmsg1 = new ActionMessage("errors.empty","未入力"); 39 ActionMessage errmsg2 = new ActionMessage("errors.email","半角入力"); 40 ActionMessage errmsg3= new ActionMessage("errors.already","既出"); 41 42 43 if( name == null || address == null) {/*未入力*/ 44 errbox.add("empty",errmsg1); 45 saveErrors(request,errbox); 46 return mapping.findForward("back"); 47 }/*ActionMessage(string、String>はダメ*/ 48 49 50 /*半角入力*/ 51 if (address != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ 52 53 errbox.add("half",errmsg2); 54 saveErrors(request,errbox); 55 return mapping.findForward("back"); 56 } 57 58 /*configのsource取得*/ 59 60 DBchinuki db = new DBchinuki(); 61 db.getDBConnection(dbName,user,pass); 62 int connect = db.getDBConnection(dbName,user,pass); 63 if(connect == 0) { 64 return mapping.findForward("miss"); 65 } else if (connect == 1) { 66 return mapping.findForward("issue"); 67 } 68 69 70 String diagno = db.seldb(address);/*登録者かどうか検索*/ 71 System.out.println("/**********************************/"+diagno); 72 73 /*完了済み*/ 74 if(address == diagno) { 75 errbox.add("already",errmsg3); 76 77 saveErrors(request,errbox); 78 return mapping.findForward("issue"); 79 80 } 81 82 db.insdb(name, address,pwd);/*登録*/ 83 db.throwDBConnection(); /*切断*/ 84 SendMail sm = new SendMail(address, pwd); 85 sm.doMail(); 86 int TS = sm.doMail(); 87 if(TS == 0) { 88 return mapping.findForward("miss"); 89 } else if (TS == 1) { 90 return mapping.findForward("issue"); 91 } 92 93 94 95 96 } 97 98public ActionForward lookupDispatchB(ActionMapping mapping, /*忘れた方*/ 99ActionForm form, 100HttpServletRequest request, 101HttpServletResponse response) throws Exception { 102 Mailform frm = (Mailform)form; 103 String address = frm.getAddress(); 104 String address1 = frm.getAddress1(); 105 String pwd = frm.getPwd(); 106 107 DBchinuki db = new DBchinuki(); 108 String diagno = db.seldb(address);/*登録者か確認*/ 109 110 111 112 //actionMessaages作成 113 ActionMessages errbox = new ActionMessages(); 114 ActionMessage errmsg1 = new ActionMessage("errors.empty","未入力"); 115 ActionMessage errmsg2 = new ActionMessage("errors.email","半角入力"); 116 ActionMessage errmsg4 = new ActionMessage("errors.unregist","未登録"); 117 118 if(address1 == null ) {/*未入力*/ 119 errbox.add("empty",errmsg1); 120 saveErrors(request,errbox); 121 return mapping.findForward("back"); 122 }/*ActionMessage(string、String>はダメ*/ 123 124 /*半角入力*/ 125 if (address1 != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ 126 errbox.add("half",errmsg2); 127 saveErrors(request,errbox); 128 return mapping.findForward("back"); 129 130 } 131 132 133 db.getDBConnection(dbName,user,pass); 134int connect = db.getDBConnection(dbName,user,pass); 135if(connect == 0) { 136 return mapping.findForward("miss"); 137} else if (connect == 1) { 138 return mapping.findForward("issue"); 139} 140 141 142 143 144 145 146 /*jquery変数pwd受け渡し*/ 147 148 149 db.updb(pwd,address1);/*更新 addressは条件*/ 150 151 152 153 /*未登録*/ 154 if(address1 != diagno) 155 { 156 errbox.add("unregist",errmsg4); 157 158 saveErrors(request,errbox); 159 return mapping.findForward("back"); 160 161 } 162 163 db.throwDBConnection(); /*切断*/ 164 /*configのsource取得*/ 165 SendMail sm = new SendMail(address1, pwd); 166 int TS = sm.doMail(); 167 if(TS == 0) { 168 return mapping.findForward("miss"); 169 } else if (TS == 1) { 170 return mapping.findForward("issue"); 171 } 172} 173} 174 175 176 177 178 179**足りないとじ{}はpublic class MailAction extends LookupDispatchAction {の とじ} 180** 181lookupdispatchBのとじ{}のしたに記述すると 182``新しい`エラー箇所はLookup dispatchA,Bの 183public ActionForward lookupDispatchB(ActionMapping mapping, /*忘れた方*/ 184ActionForm form, 185HttpServletRequest request, 186HttpServletResponse response) throws Exception { 187
actionを正常に動かすにはどのように記述したらよろしいでしょうか
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/15 01:56
2015/12/15 02:08
2015/12/15 02:12
2015/12/15 02:18