- - PR -
初心者の質問で申し訳ないですが、MVC型について、getRequestDispatcherで画面遷移ができないのです 涙
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-01-19 16:20
始めたばかりのものです。どうも全然わからないので、原因らしきものがわかるかたいらっしゃいましたら御願いします。
以下の画面遷移の部分でエラーになります。 <呼出元サーブレット> // BEANS型の初期化(getdata.BEANS型のpoohを初期化) getdata pooh = null; try{ pooh = (getdata)java.beans.Beans.instantiate(this.getClass().getClassLoader(),"mypakage.getdata"); pooh.setValue(req.getParameter("shimei")); pooh.execute(); }catch(Exception ex){ ex.printStackTrace(); System.err.println("BEANS呼び出しエラー"); } try{ // リストオブジェクトにBEANを設定 req.setAttribute("myBean",pooh); }catch(Exception ex){ System.err.println("リストオブジェクトにBEANを設定"); } //JSPに処理を渡す(フォワード) String nexturl = "/result.jsp"; //画面遷移 try{ ServletContext context = getServletContext(); RequestDispatcher rd = context.getRequestDispatcher(nexturl); rd.forward(req,res); }catch(Exception ex){ System.err.println("遷移できませんでしたよ"); } <nexturl先のjsp> <%@ page contentType = "text/html; charset=Shift_JIS" pageEncoding="Shift_JIS" %> <% // クラスのインポート %> <%@ page import = "mypakage.getdata" %> <% // Vector配列のインポート %> <%@ page import = "java.util.Vector" %> <% try{ // リクエストオブジェクトに設定されたBEANを取得 getdata honey = (getdata)request.getAttribute("myBean"); Vector vec = (Vector)honey.getVec(); }catch{ System.err.println("遷移できませんでしたA"); } %> <HTML> <HEAD> <title>練習@結果</title> </HEAD> <BODY> <DIV ALIGN ="CENTER"> <H1>社員一覧</H1> <BR> <HR> <BR> </DIV> ◆検索結果 <BR> <% if (vec.size() = 0 ) { out.println("配列はゼロです。"); } if (vec.size() != 0 ) { for ( int iCnt = 0 ; iCnt < vec.size() ; iCnt++ ){ out.println("<p>" + vec.elementAt(iCnt) + "</P>"); } } else { out.println("エラーもしくは該当データなし"); } %> </BODY> </HTML> <DOS画面に出るエラー内容> Compile failed; see the compiler error output for details. at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:844) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:320) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356) at mypakage.test001.doGet(test001.java:46) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666) at java.lang.Thread.run(Thread.java:536)遷移できませんでしたよ ソース長く貼り付けてしまい申し訳ないですが、よろしく御願いいたします。 | ||||
|
投稿日時: 2004-01-19 16:40
はじめまして。
エラーメッセージからは、result.jspでコンパイルエラーが 起きているということしか判断できませんが、 <% if (vec.size() = 0 ) { typoでないとしたら、ここではないでしょうか? | ||||
|
投稿日時: 2004-01-19 16:51
返信ありがとうございます。
ご指摘の部分は result.jspの中かなぁと思って色々付け加えた箇所でした。 「<% if (vec.size() = 0 ) { 」 >typoでないとしたら、ここではないでしょうか? すいませんtypoの意味がわからないのですが・・・涙 もう少しソース追ってみます。 ありがとうございました。 | ||||
|
投稿日時: 2004-01-19 17:02
とりあえず、catch文でcatchするExceptionが指定されていないのはおかしいですね。
| ||||
|
投稿日時: 2004-01-19 17:05
ご指摘ありがとうございます。
とりあえず、(Exception ex)をつけました・・・。 ここで拾ってくれないということは他で出てるって事ですよね。。。 ありがとうございました。 | ||||
|
投稿日時: 2004-01-19 17:30
まさかとは思いますが・・・
<%@ page import = "mypakage.getdata" %> は <%@ page import = "mypackage.getdata" %> が正しい、なんていうオチじゃないですよね・・・ | ||||
|
投稿日時: 2004-01-19 17:36
わかりにくいスペルで申し訳ないです「mypakage」がパッケージ名になっています。
ご指摘ありがとうございました。 | ||||
|
投稿日時: 2004-01-19 18:04
私も知らなかったのでちょっと調べてみると 「"Minor Typographic Error" のことで、要するに打ち間違いによる誤字脱字の類」 「誤植」 といった意味のようです。 | ||||
