- PR -

初心者の質問で申し訳ないですが、MVC型について、getRequestDispatcherで画面遷移ができないのです 涙

投稿者投稿内容
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 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)遷移できませんでしたよ


ソース長く貼り付けてしまい申し訳ないですが、よろしく御願いいたします。
taro
ぬし
会議室デビュー日: 2003/10/20
投稿数: 316
投稿日時: 2004-01-19 16:40
はじめまして。

エラーメッセージからは、result.jspでコンパイルエラーが
起きているということしか判断できませんが、

<% if (vec.size() = 0 ) {

typoでないとしたら、ここではないでしょうか?
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-01-19 16:51
返信ありがとうございます。
ご指摘の部分は
result.jspの中かなぁと思って色々付け加えた箇所でした。
「<% if (vec.size() = 0 ) { 」

>typoでないとしたら、ここではないでしょうか?

すいませんtypoの意味がわからないのですが・・・涙

もう少しソース追ってみます。
ありがとうございました。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-01-19 17:02
とりあえず、catch文でcatchするExceptionが指定されていないのはおかしいですね。
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-01-19 17:05
ご指摘ありがとうございます。
とりあえず、(Exception ex)をつけました・・・。
ここで拾ってくれないということは他で出てるって事ですよね。。。

ありがとうございました。
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-01-19 17:30
まさかとは思いますが・・・

<%@ page import = "mypakage.getdata" %>



<%@ page import = "mypackage.getdata" %>

が正しい、なんていうオチじゃないですよね・・・
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-01-19 17:36
わかりにくいスペルで申し訳ないです「mypakage」がパッケージ名になっています。
ご指摘ありがとうございました。
axis
会議室デビュー日: 2003/10/30
投稿数: 9
投稿日時: 2004-01-19 18:04
引用:

すいませんtypoの意味がわからないのですが・・・涙



私も知らなかったのでちょっと調べてみると
「"Minor Typographic Error" のことで、要するに打ち間違いによる誤字脱字の類」
「誤植」
といった意味のようです。

スキルアップ/キャリアアップ(JOB@IT)