Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

java.lang.ClassCastException: calculate.CalculateAction cannot be cast to org.apache.struts.action.Action

はじめまして。いつも困った時に参考にさせて頂いております。

今Strutでの開発の練習をしているのですが、入力画面より画面遷移した時に以下のエラーが出てしまいます。
java.lang.ClassCastException: calculate.CalculateAction cannot be cast to org.apache.struts.action.Action
    at org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    at org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    at org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:91)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
2009/04/24 9:35:47 org.apache.struts.chain.commands.ExceptionCatcher postprocess

自分がログをみて思ったのは「キャストが失敗している」という風に捕らえたのですが、このエラーを解決するにはどのような原因が考えられるかお力をかしていただけないでしょうか・・・?

開発環境は
Tomcat 6.0
jdk1.6.0_13
struts-1.3.10
を使っています。

7

回答

20884

閲覧

7件の回答

評価

0

すいません。追記です。
何か情報が足りない所があれば教えてください。

評価

0

CalculateAction が、 extends Actionされてないんじゃないんでしょうか。
org.apache.struts.action
のActionを継承してないとか。

評価

0

CalclateActionって、ちゃんとActionを継承してる?

評価

0

CalclateActionクラスでActionの継承をしてなかったです。
>コロ、不良社員様方
すみません。注意力が足りなかったみたいです。
お二人のおかげで継承をすると正常に動きました^^
本当にありがとうございました。

評価

0

>コロ、不良社員様方
度々すいません。
ほんとに恐縮なのですが、もしお二人がエラーをどこかのサイトで調べられていたなら、そのサイトの探し方を教えていただけないでしょうか?

自分、エラーを探すのがヘタみたいで、エラーの内容をコピペしてネットで探すようにしているのですが、他に方法があれば教えてください><。

デバック能力をつけたいので・・・OTL

評価

0

.ClassCastException: calculate.CalculateAction cannot be cast to org.apache.struts.action.Action
これを日本語にしました。
CalculateAction をstrutsのActionにキャストできなかった。

つまり、CalculateAction はstrutsのActionじゃない。

と、いうことで継承してないんじゃないかと。

評価

0

>コロさん
あっ!なるほど!!
日本語化してなかったです。

しかし、まだ自分には
「CalculateAction をstrutsのActionにキャストできなかった。」
↓つまり
「CalculateAction はstrutsのActionじゃない。」
↓つまり
「継承してないんじゃないか。」
と、解決していくための知識が足りないみたいです。
有識者の方の意見は大変重宝しております。

こんな初心者に教えてくれてありがとうございました^^。
また何かあって自己解決できなかったら、このサイトにお邪魔させていただくと思いますが、その時はよろしくお願いいたします。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。