質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Q&A

解決済

2回答

3096閲覧

dispatch action のエラーで困っています

kentros511

総合スコア122

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

0グッド

0クリップ

投稿2015/12/07 06:51

編集2015/12/07 07:05

JAVA

1 2 3 4public class MailAction extends LookupDispatchAction { 5 protected Map getKeyMethodMap() { 6 // キーとメソッドの対応を登録する 7 Map<String,String> map = new HashMap<String,String>(); 8 map.put("firster","lookupDispatchA"); 9 map.put("forgets","lookupDispatchB"); 10 return map; 11 } 12 13 14 15 private String url="jdbc:mysql:localhost/staff"; 16 private String user = "root"; 17 private String pass = ""; 18 19 20 21 22 23 public ActionForward lookupDispatchA (ActionMapping mapping 24 ,ActionForm form 25 ,HttpServletRequest request 26 ,HttpServletResponse response) throws Exception { 27 28 Mailform frm = (Mailform)form; 29 String name = frm.getName(); 30 String address = frm.getAddress(); 31 String pwd = frm.getPwd(); 32 33 34 MailForm2 frm1 = (MailForm2)form; 35 String address1 = frm1.getAddress1(); 36 37 //actionMessaages作成 38 ActionMessages errbox = new ActionMessages(); 39 ActionMessage errmsg1 = new ActionMessage("errors.empty","未入力"); 40 ActionMessage errmsg2 = new ActionMessage("errors.email","半角入力"); 41 ActionMessage errmsg3= new ActionMessage("errors.already","既出"); 42 ActionMessage errmsg4 = new ActionMessage("errors.unregist","未登録"); 43 44 if( name == null || address == null) {/*未入力*/ 45 errbox.add("empty",errmsg1);}/*ActionMessage(string、String>はダメ*/ 46 47 /*半角入力*/ 48 if (address != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ 49 errbox.add("half",errmsg2);} 50 51 52 /*完了済み*/ 53 if(address == address1) { 54 errbox.add("already",errmsg3); } 55 /*未登録*/ 56 if(address1 !=address) 57 { 58 errbox.add("unregist",errmsg4); 59 60 saveErrors(request,errbox); 61 62 } 63 /*configのsource取得*/ 64 65 DBooo db = new DBoooo(); 66 db.getDBConnection(url,user,pass); 67 68 db.seldb(address);/*登録者かどうか検索*/ 69 db.insdb(name, address);/*登録*/ 70 71/*メール送信*/ 72 73 74 try{/*start*/ 75 //property 76 Properties prop = new Properties(); 77 prop.setProperty("mail.smtp.host", "localhost"); 78 //SMTPサーバーのセット 79 prop.setProperty("mail.smtp.port", "25"); 80 81 //メールセッションを確立 82 Session session = Session.getInstance(prop); 83 84 //送信メッセージ 85 MimeMessage mimeMessage1 = new MimeMessage(session); 86 87 88 //ToAddressのセット 89 InternetAddress toAddress =new InternetAddress("333.ppp.co.jp","ゲストさん"); 90 mimeMessage1.setRecipient(Message.RecipientType.TO,toAddress); 91 92 //FRomAdressnoセット 93 InternetAddress fromAddress = new InternetAddress("111@ihos.co.jp","管理者"); 94 mimeMessage1.setFrom(fromAddress); 95 96 new String("Subject"); 97 mimeMessage1.setSubject("パスワード発行","iso-2022-jp");/*件名*/ 98 new String ("Text"); 99 mimeMessage1.setText("あなたのパスワードは" + pwd + "です","iso-2022-jp"); 100 101 //保存 102 mimeMessage1.saveChanges(); 103 104 105 //メールの送信 106 Transport.send(mimeMessage1); 107 }catch(MessagingException e){/*すべての例外*/ 108 e.printStackTrace(); 109 return null; 110 } 111 112 113 /*configのsource取得*/ 114 115 116 db.throwDBConnection(); /*切断*/ 117 return mapping.findForward("first"); 118 119} 120public ActionForward lookupDispatchB(ActionMapping mapping, /*忘れた方*/ 121ActionForm form, 122HttpServletRequest request, 123HttpServletResponse response) { 124Aと同じ 125return mapping.findForward("forget"); 126} ← ここでエラー発生 }が足りません 127}← ここに足すとさらにエラーが出ます 128 129エラーがあと一つなので 適切な }の位置を見つけたいです 130どこに }をいれたらよいでしょうか 131 132 133 134 135

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

izkn

2015/12/07 06:52

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
guest

回答2

0

ベストアンサー

java

1public class MailAction extends LookupDispatchAction {

この括弧が閉じていませんね。一番最後にもう一つ}が必要です。
インデントが揃っていませんしブロックの書き方にも統一感がありません。見た目を整える習慣を付けるとこのようなミスは起こりにくくなります。


コードが編集されていたので追記です。
最後のが全角記号ですが、元のソースコードではちゃんと半角の}になっていますか?

投稿2015/12/07 07:15

編集2015/12/07 07:20
catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まずはメソッドの実装を return null; のみにしてみましょう。
その後に、実装部分をある程度のまとまり毎に張り付けてみてはどうでしょうか。

投稿2015/12/07 07:12

cha-ra

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問