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

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

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

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

Struts

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

Q&A

解決済

1回答

3220閲覧

dispatch actionがうまくいかなくて困ってます  

kentros511

総合スコア122

Java

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

Struts

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

0グッド

0クリップ

投稿2015/12/07 04:41

編集2015/12/07 06:03

サンプルコードを一部載せました

lang-java

JAVA

1**コード ここから-- ** 2 3> public class MailAction extends LookupDispatchAction { 4 protected Map getKeyMethodMap() { 5 // キーとメソッドの対応を登録する 6 Map<String,String> map = new HashMap<String,String>(); 7 map.put("firster","lookupDispatchA"); 8 map.put("forgets","lookupDispatchB");入力中の内容をテンプレートとして保存 9 10 return map; 11} 12 13 14 15> private String url="jdbc:mysql:localhost/####; 16> private String user = "root"; 17> private String pass = ""; 18 19 20> public ActionForward lookupDispatchA (ActionMapping mapping 21 ,ActionForm form 22 ,HttpServletRequest request 23 ,HttpServletResponse response) throws Exception { 24 25 26> Mailform frm = (Mailform)form; 27 String name = frm.getName(); 28 String address = frm.getAddress(); 29 String pwd = frm.getPwd(); 30 31 32> MailForm2 frm1 = (MailForm2)form; 33> String address1 = frm1.getAddress1(); 34 35> //actionMessaages作成 36 ActionMessages errbox = new ActionMessages(); 37 ActionMessage errmsg1 = new ActionMessage("errors.empty","未入力"); 38 ActionMessage errmsg2 = new ActionMessage("errors.email","半角入力"); 39 ActionMessage errmsg3= new ActionMessage("errors.already","既出"); 40 ActionMessage errmsg4 = new ActionMessage("errors.unregist","未登録"); 41> 42> if( name == null || address == null) {/*未入力*/ 43 errbox.add("empty",errmsg1);}/*ActionMessage 44 (string、String>はダメ*/ 45 46> /*半角入力*/ 47 if (address != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ 48> errbox.add("half",errmsg2);} 49> 50> /*完了済み*/ 51 if(address == address1) { 52 errbox.add("already",errmsg3); } 53> /*未登録*/ 54> if(address1 !=address) 55 { 56 errbox.add("unregist",errmsg4); 57> 58> 59> 60> saveErrors(request,errbox); 61> 62> } 63> /*configのsource取得*/ 64> 65> DB**** db = new DB******(); 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("***@****.co.jp","ゲストさん"); 90> mimeMessage1.setRecipient(Message.RecipientType.TO,toAddress); 91> 92> //FRomAdressnoセット 93> InternetAddress fromAddress = new InternetAddress("***@****.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> } 120> 121> public ActionForward lookupDispatchB(ActionMapping mapping, 122> ※以下の処理はLookup dispatchAと同じ 123> }**※ここでエラーが }が足らないと出ています** 124> /*****java action code ここまで**

config.xml

1

lang-config

<form-bean name="Mailform" type="action.form.Mailfrom"></form-bean>
<form-bean name="Mailform1" type="action.form.MailForm2"></form-bean>

<action
path="/MailAction"
type="action.MailAction"
name="Mailform"
input="passInput.jsp"
scope="request"

validate="true" parameter="dispatch"> <!-- 1 --> <forward name="first" path="/jsp/passInput.jsp"/></action> <action path="/MailAction" type="action.MailAction" name="MailForm2" input="passInput.jsp" scope="request" parameter="dispatch" validate="true"> <!-- 2 --> <forward name="forget" path="/jsp/passInput.jsp"/>

/**** config code ここまで*** `````````

> > > ```JSP ``lang-jsp``` > ----1-- > <bean:write name="Mailform" property="address"/> > > ---2-- > <bean:write name="MailForm2" property="address1"/>

Q.}がどこに必要なのか**
dispatch というハンドラパラメーターがありません
beanのform2が見当たらないとでて困っています**

エラーを解決したいです どのように直せばよいでしょうか

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2015/12/07 05:35

コード引用の最後にもバッククオート3個を付けてみてください。現状、コード引用部分が非常に見づらくなっています。
liguofeng29

2015/12/07 05:39

コードを適切な形でアップしていただけますか。
kentros511

2015/12/07 06:03

失礼しました  
guest

回答1

0

自己解決

dispatchがありませんは
formにdispatch パラメータを入れたら治りました

ほかの2つは引き続きお願いします

投稿2015/12/07 06:45

kentros511

総合スコア122

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問