• 締切済み

strutsのstruts-config.xmlでのエラーメッセージ

こんばんは strutsのエラーメッセージ表示で困っています。 javaでthrowしてstruts-config.xmlのexceptionで エラーを表示します。 以下のようにコーディングしてあり、 key999に定義してあるメッセージを表示することはできます。 しかしmessagesにセットしたメッセージを表示することができません。 messagesにセットしたメッセージを表示するにはstruts-config.xmlの keyはどのように設定すればよいのでしょうか? よろしくお願いします。 *struts-config.xml <exception key="999" type="myException" path="xxxxxxxxxx.jsp" handler="myExceptionHandler"/> *java public ActionForward hoge( ActionMapping map, ActionForm form, HttpServletRequest req, HttpServletResponse res ) throws Exception { try { return map.findForward("XXXXX"); } catch (myException e) { ActionMessages messages = new ActionMessages(); messages.add("error" ,new ActionMessage("001","エラー")); saveMessages(req,messages); throw e; } }

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

noname#19197
noname#19197
回答No.1

Strutsのバージョンが分からないので、1.2.7での話ですが、 ソースを読む限り、 スローしている例外を、ModuleExceptionにするとできるみたいです。 } catch (myException e) { throw new ModuleException("001","エラー"); }

参考URL:
http://pistos.pe.kr/javadocs/repository/3/1.2.7/apidocs/org/apache/struts/util/ModuleException.html
ema-1234567890
質問者

お礼

ありがとうございます。 Exceptionは定義さえすれば、ModuleExceptionでなくてもよさそうです。 今回の原因はjspのメッセージ表示部分にあることが分かりました。

関連するQ&A

  • struts-config.に対する読み込みエラー

    現在稼動中のプログラムを修正して登録したところ、HTTPステータス500が表示され、 struts-config.xml に対するリソース読み込みエラー というメッセージが出ました。 読込みエラーとなったプログラムはMNT2010Formというプログラムです。 それまでEclipse3.0を使っていましたが、今日からEclipse3.7を使っています。 Eclipse3.7ではコンパイルエラーはありません。 修正前(稼動中)のソースをEclipse3.7でコンパイルしたものを実行させると、 同じ読込みエラーとなります。 原因としてはどのようなことが考えられるでしょうか。 よろしくご教授ください。

  • 「Struts使用中」XMLからデータ取得

    FormBeanにセットされた値を取得して、その値を元に一致するデータをXMLからとってきてそれらをテキストに落とし込む。という動作です。 最初はFormBeanにセットされた値をそのままテキストに落とし込むだけだったので楽にできて正常に動いていましたが、「XMLからとってくる」という動きを追加しようとしたところうまくいきません。 public class Test extends Action { (1) public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) {   FormBeanからキーになる値をとってくる。 } (2) public static void main(String[] args) throws Exception { Document document = DocumentBuilderFactory.newInstance()  キーとなる値を元にXMLからデータ検索し、値を取得 } (3) public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) {   そのほかのFormBeanの値をとってきて(2)で取得した値と一緒にテキストに落とし込み、returnで処理終了のjspを表示させる }  public ActionForward executeが(1)と(3)で2回でているからコンパイルエラーがでるのだとわかるのですが、その他の記述方法がわかりません。  ネットでいろいろ探したのですが、XMLparserのサンプルやStrutsのサンプルはあるのですが、2つ一緒のサンプルが見つからないので困っています。  ご存知の方よろしくお願いいたします。

    • ベストアンサー
    • Java
  • struts-config.xmlについて

    strutsを用いて画面遷移を行わせる場合、 <action path="~" type="~" name="~" scope="~"> <forward name="login" path="A"/> <forward name="main" path="B"/> <forward name="sample" path="C"/> <forward name="error" path="E"/> </action> struts-config.xmlにて上記のように記述した場合、 他サーバのJSPファイルを指定することは可能でしょうか? 見当はずれな質問をしていましたらご指摘宜しくお願いします。

    • ベストアンサー
    • Java
  • tomcat(struts)で起動時に処理を行いたい

    strutsでhttp://localhost:8080/test/test.do というように呼び出せば、以下のexecuteメソッドが呼ばれるわけですが、 public ActionForward execute(ActionMapping map, ActionForm fm, HttpServletRequest req, HttpServletResponse response) throws Exception {   ++処理++ } ここでおこなう処理をアプリ読み込み時つまりTomcat起動時に 共通の処理を行いたいのですが、何か方法はありませんでしょうか。 お願いします。

    • ベストアンサー
    • Java
  • StrutsのEclipseプラグイン

    Strutsの勉強をしているのですが、アクションコンフィギレーションファイル(struts-config.xml)でてこずっています。 (具体的には404エラーなのでstruts-config.xmlの設定ミスが濃厚) 調べてみると、struts-config.xmlを自動編集してくれるプラグインが数種類あるらしいのです。 サイトを読む限りどれも一長一短のようですが、どうでしょうか。 お使いになっておられる方は使い勝手を教えていただけないでしょうか。 当方 Struts1.2.8 Eclipse3.1.1 Tomcat5.0 です。

    • ベストアンサー
    • Java
  • web.xmlでのエラーページ

    お世話になります。 Tomcat5.5、Linux環境下で、 WEB-INF/web.xmlに <error-page> <error-code>500</error-code> <location>/jsp/error.jsp</location> </error-page> <error-page> <error-type>java.lang.Exception</error-type> <location>/jsp/error.jsp</location> </error-page> という記述をしています。 (Tomcatは問題なく起動しています) サーブレット内でエラーが起こるように設定したのですが、作成したerror.jspに飛ばず、通常の500のエラーページが表示されます。 サーブレット記述 doGet(... ) throws ServletException,IOException { ...処理  try { throw new IOException(); //ここでExceptionをわざと起こしています。 ...処理  } catch (Exception e) { e.printStackTrace(); throw new ServletException(e); } なぜ、独自のエラーページに飛んでくれないのか原因が分からず投稿させていただきました。 どなたかアドバイスお願いします。

  • struts-config.xmlの設定

    お世話になります。 strutsを使用しlogin画面を作成し、エラーならエラーメッセージを表示させ、成功なら次のページに遷移するようにしたいのですが、 その際のstruts-config.xmlの設定がわかりません。 login画面を以下のように設定(login.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <html:html> <head> <title>ログイン画面</title> </head> <body> <html:errors/> <html:form action="/login" method="post"> ユーザID : <html:text property="id"/><br> パスワード: <html:password property="password"/><br> <html:submit value="ログイン"/> </html:form> </body> </html:html> </html> struts-config.xml <form-beans> <!-- sample form bean descriptor for an ActionForm <form-bean name="LoginForm"   //jspのform actionで渡すデータ type="org.apache.struts.validator.DynaValidatorForm"/> end sample --> <!-- sample form bean descriptor for a DynaActionForm <form-property     name="userid" //jsp画面のproperty指定時に渡す type="java.lang.String"/> <form-property name="password" //passwordのとき type="java.lang.String"/> </form-bean> end sample --> </form-beans>      //actionで渡すデータの定義1 <action path="/Login"   //actionで渡すデータ type="org.apache.struts.actions.LoginAction" parameter="/pages/Input.jsp"/> //actionで渡すデータの定義2 <action path="/InputSubmit" type="app.InputAction" name="inputForm" scope="request" validate="true" input="/pages/Input.jsp"/> //actionで渡す定義3 <action path="/edit*" type="app.Edit{1}Action" name="inputForm" scope="request" validate="true" input="/pages/Edit{1}.jsp"/> end samples --> </action-mappings> の箇所を変更するのはわかるのですが、どう変更したらいいかがわかりません。 ログイン成功時画面(loginSuccess.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <%@ taglib uri="/tags/struts-html" prefix="html" %> LoginSuccess!! <html:form action="/nextpage" method="post"> <html:submit value="次のページ"/> </html:form> </html> と設定してます。 javaクラスの設定も関係あるのですが、今回は省略してます 。今回したいのはlogin.jsp画面を表示させたいのですが、 その際以下のエラーがでます。 org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/login.jsp at line 19 16: </head> 17: <body> 18: <html:errors/> 19: <html:form action="/login" method="post"> 20: ユーザID : <html:text property="id"/><br> 21: パスワード: <html:password property="password"/><br> 22: <html:submit value="ログイン"/> よろしくお願いします。

  • XMLに関して、エラーメッセージがでます

    海外のファイルをダウンロードしました。 海外のファイルのバージョンはMXです。当方はフラッシュ8です。 アクションスクリプトエラーをチェックしましたら以下のエラーメッセージが出ます。 どこが違ってるのでしょうか? var spacing = 5; var feedSpacing = 100; xml = new XML(); xml.ignoreWhite = true; xml.onLoad = mx.utils.Delegate.create(this, processFeed); mcFeedItem._visible = false; tfFeedback._visible = false; loadFeed(_root.rss); **警告** 行 3:大文字小文字を区別しない識別子 'xml' はビルトインオブジェクトの 'XML' と同等とみなされます。 xml = new XML(); 宜しくお願いします。

    • ベストアンサー
    • Flash
  • config.xmlというファイルについて

    パソコンを立ち上げてTemporaryInternetfilesフォルダを見たらconfig.xmlという名前のファイルがありました。 パソコンはインターネットエクスプローラーを閉じたら、TemporaryInternetfilesフォルダを空にするように設定してありますので、いつもはきれいにカラになっていましたが、なぜか今回、上記名前のファイルだけが残っていました。 ファイルは開かずにそのままDeleteキーで消しましたが、ごみ箱にも入らず、注意メッセージも出ずに消えました。 config.xmlとは何のファイルなんでしょうか? 必要なファイルなのでしょうか? なぜそんなところにあったのでしょうか? 相談箱で検索したのですが過去のヒット項目は私のケースとは違うみたいなので、質問いたします。

  • エラーページ遷移後に入力値を残す

    いつも参考にさせて頂いています。 strutsでアプリを作っています。 入力チェックをして不備があるとstrutsの<html:erros />タグにてエラーメッセージを表示しているのですが、その際に入力した値を残す処理ができなくて困っています。 私が思っていたのはrequestスコープにActionFormの値を設定すればいいのかな?と思っていたのですがうまくいきません。 (画面遷移、エラーメッセージ表示はできていますが、入力された値は消えてしまいます) 以下にソースの載せますのでご教授宜しくお願いします。 ■postでリクエストを投げるjsp <form action…> <input type="text" name="requestDto.nameKanji"> </form> ■値を取得したサーブレット //パラメータをアクションフォームから取得 TestActionForm actionForm = (TestActionForm)form; ActionMessages messages = new ActionMessages(); // 入力チェック inputCheck(actionForm, messages); // エラー処理 if(messages.size() != 0) { saveErrors(request, messages); ActionForm form = new ActionForm(); form.setRequestDto(actionForm.getRequestDto) // ここでアクションフォームをリクエストスコープに設定 request.setAttribute("ActionForm ", form); return ( mapping.findForward("error") ); } リクエストスコープに入れる名前、もしくは値が間違っているのでしょうか? どうか宜しくお願いします。 開発環境 jdk1.4_12 tomcat5.0 struts1.2

専門家に質問してみよう