- PR -

入力JSPのフォームの項目がエラーになってしまう

投稿者投稿内容
イマ
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-21 20:28
別スレのタイトルと問題が変わってしまったので新たなスレを立てました

問題というのは、actionに飛ぶ入力フォームにおいてstruts htmlタグライブラリ
を使って書き直した際、使用前のときと変わってエラーになってしまいました。
使用前の時には動いていたんですが、struts htmlタグライブラリを使用しないと
動作しない!とご指摘を受け変更いたしました。すると入力JSPがエラーを起こすように
なりました。どのように解決すればよいかご教授願います。

エラーメッセージ↓
description The server encountered an internal error () that prevented it from fulfilling this request.

org.apache.jasper.JasperException: Cannot retrieve mapping for action /show_database


入力JSPファイル↓
<%@ page language="java" import="java.sql.*"
contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html>
<META http-equiv="content-type" content="text/html;charset=shift_jis">
<BODY>
<BODY background="rain.jpg">
<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="webtext.htm">教材照会</A></FONT></P>
<FONT FACE="Verdana,Arial,Helvetica">


<html:form target="right" action="show_database.do">
学年
<html:select property="year">
<OPTION value="全学年">全学年&nbsp;&nbsp;&nbsp;&nbsp;
<OPTION value="小学生">小学生
<OPTION value="小学1年">小学1年
<OPTION value="小学2年">小学2年
<OPTION value="小学3年">小学3年
<OPTION value="小学4年">小学4年
<OPTION value="小学5年">小学5年
<OPTION value="小学6年">小学6年
<OPTION value="中学生">中学生
<OPTION value="中学1年">中学1年
<OPTION value="中学2年">中学2年
<OPTION value="中学3年">中学3年
</html:select><BR>

科目
<html:select property="subject">
<OPTION value="全科目">全科目&nbsp;&nbsp;&nbsp;&nbsp;
<OPTION value="国語">国語
<OPTION value="算数">算数
<OPTION value="理科">理科
<OPTION value="社会">社会
<OPTION value="音楽">音楽
<OPTION value="家庭科">家庭科
<OPTION value="体育">体育
<OPTION value="道徳">道徳
<OPTION value="総合学習">総合学習
<OPTION value="数学">数学
<OPTION value="英語">英語
<OPTION value="技術家庭">技術家庭
<OPTION value="美術">美術
<OPTION value="保健体育">保健体育
</html:select><BR>

種類
<html:select property="kind">
<OPTION selected value="全種類">全種類
<OPTION value="授業プラン">授業プラン
<OPTION value="資料">資料
<OPTION value="教材サイト">教材サイト
</html:select><P>


<FONT size="2">キーワード</FONT><BR>
<html:text size="20" property="keyword"/>
<BR><BR>

<html:submit property="cmd" value="照会"/>
</html:form>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="tooroku6.htm">教材発掘</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="teaching/sample.html">授業プラン作成</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right"href="english/leftDEMO.html">英語ページ翻訳</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="tooroku7.htm">会員登録</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right"href="rule.html">サイトのルール</A></FONT></P>

<!--
<FONT size="3"><CENTER><A target="right" href="ninsyou.htm">Loginページへ</A></CENTER></FONT>
-->
<P>
ご意見・お問い合わせは<BR><A href="mailto:ci985172@uhura.nit.ac.jp">こちら</A>までお願いします。
</BODY>
</html:html>



以下struts-config↓
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config (View Source for full doctype...)>
- <struts-config>
- <!-- ========= Data Souce Configuration ==========================-->
- <!-- ========= Form Bean Definitions =============================-->
- <form-beans>
<form-bean name="showDatabaseForm" type="databaes.ShowDatabaseForm" />
</form-beans>
- <!-- ========= Global Forward Definitions ========================-->
- <!-- ========= Action Mapping Definitions ========================-->
- <action-mappings>
- <action path="/showDatabaseSample" type="database.ShowDatabaseAction" name="showDatabaseForm" scope="request">
<forward name="success" path="/test3.jsp" />
</action>
</action-mappings>
- <!-- ========== Message Resources Definitions ====================-->
<message-resources parameter="ApplicationResources" />
- <!-- ========== Plug Ins Configuration ===========================-->
</struts-config>
ヒッド
会議室デビュー日: 2004/06/14
投稿数: 7
投稿日時: 2004-06-22 02:00
<html:form> の action エレメントに指定する値は、
struts-config の <action> の path エレメントと同じ値が入るはずです。
今回の場合は action="/showDatabaseSample" とすべきではないでしょうか?

それと前のスレッドでaaさんが指摘した<form-bean>の
type="databaes.ShowDatabaseForm" のところの
「databaes」も改善されていないようです。
もちろん「databaes」というパッケージなら問題はないですが、
それはなさそうなので・・・。
イマ
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-22 05:39
><html:form> の action エレメントに指定する値は、
>struts-config の <action> の path エレメントと同じ値が入るはずです。
>今回の場合は action="/showDatabaseSample" とすべきではないでしょうか?

>それと前のスレッドでaaさんが指摘した<form-bean>の
>type="databaes.ShowDatabaseForm" のところの
>「databaes」も改善されていないようです。
>もちろん「databaes」というパッケージなら問題はないですが、
>それはなさそうなので・・・。

ヒッドさんありがとうございます
ご指摘道理以上の点を修正したんですが
いまだに同じエラーを返せれてしまう次第です。

修正点以下のとうりです↓
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config (View Source for full doctype...)>
- <struts-config>
- <!-- ========= Data Souce Configuration ==========================-->
- <!-- ========= Form Bean Definitions =============================-->
- <form-beans>
<form-bean name="ShowDatabaseForm" type="database.ShowDatabaseForm" />
</form-beans>
- <!-- ========= Global Forward Definitions ========================-->
- <!-- ========= Action Mapping Definitions ========================-->
- <action-mappings>
- <action path="/show_Database" type="database.ShowDatabaseAction" name="ShowDatabaseForm" scope="request">
<forward name="success" path="/test3.jsp" />
</action>
</action-mappings>
- <!-- ========== Message Resources Definitions ====================-->
<message-resources parameter="ApplicationResources" />
- <!-- ========== Plug Ins Configuration ===========================-->
</struts-config>


<%@ page language="java" import="java.sql.*"
contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html>
<META http-equiv="content-type" content="text/html;charset=shift_jis">
<BODY>
<BODY background="rain.jpg">
<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="webtext.htm">教材照会</A></FONT></P>
<FONT FACE="Verdana,Arial,Helvetica">


<html:form target="right" action="/show_Database">
学年
<html:select property="year">
<OPTION value="全学年">全学年&nbsp;&nbsp;&nbsp;&nbsp;
<OPTION value="小学生">小学生
<OPTION value="小学1年">小学1年
<OPTION value="小学2年">小学2年
<OPTION value="小学3年">小学3年
<OPTION value="小学4年">小学4年
<OPTION value="小学5年">小学5年
<OPTION value="小学6年">小学6年
<OPTION value="中学生">中学生
<OPTION value="中学1年">中学1年
<OPTION value="中学2年">中学2年
<OPTION value="中学3年">中学3年
</html:select><BR>

科目
<html:select property="subject">
<OPTION value="全科目">全科目&nbsp;&nbsp;&nbsp;&nbsp;
<OPTION value="国語">国語
<OPTION value="算数">算数
<OPTION value="理科">理科
<OPTION value="社会">社会
<OPTION value="音楽">音楽
<OPTION value="家庭科">家庭科
<OPTION value="体育">体育
<OPTION value="道徳">道徳
<OPTION value="総合学習">総合学習
<OPTION value="数学">数学
<OPTION value="英語">英語
<OPTION value="技術家庭">技術家庭
<OPTION value="美術">美術
<OPTION value="保健体育">保健体育
</html:select><BR>

種類
<html:select property="kind">
<OPTION selected value="全種類">全種類
<OPTION value="授業プラン">授業プラン
<OPTION value="資料">資料
<OPTION value="教材サイト">教材サイト
</html:select><P>


<FONT size="2">キーワード</FONT><BR>
<html:text size="20" property="keyword"/>
<BR><BR>

<html:submit property="cmd" value="照会"/>
</html:form>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="tooroku6.htm">教材発掘</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="teaching/sample.html">授業プラン作成</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right"href="english/leftDEMO.html">英語ページ翻訳</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right" href="tooroku7.htm">会員登録</A></FONT></P>

<P><FONT size="3"><IMG height="15" src="b_lis016.gif" width="16" border="0"><A target="right"href="rule.html">サイトのルール</A></FONT></P>

<!--
<FONT size="3"><CENTER><A target="right" href="ninsyou.htm">Loginページへ</A></CENTER></FONT>
-->
<P>
ご意見・お問い合わせは<BR><A href="mailto:ci985172@uhura.nit.ac.jp">こちら</A>までお願いします。
</BODY>
</html:html>

エラーメッセージ
description The server encountered an internal error () that prevented it from fulfilling this request.

org.apache.jasper.JasperException: Cannot find ActionMappings or ActionFormBeans collection
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-06-22 21:45
引用:

ご指摘道理以上の点を修正したんですが
いまだに同じエラーを返せれてしまう次第です。


いやいや、エラーメッセージが変わってますがな。

エラーメッセージの意味を考えてみましたか?
スタックトレースなんですから、順序立てられていますよ。
ヒッド
会議室デビュー日: 2004/06/14
投稿数: 7
投稿日時: 2004-06-22 23:31
引用:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config (View Source for full doctype...)>
- <struts-config>
- <!-- ========= Data Souce Configuration ==========================-->
- <!-- ========= Form Bean Definitions =============================-->
- <form-beans>
<form-bean name="ShowDatabaseForm" type="database.ShowDatabaseForm" />
</form-beans>
- <!-- ========= Global Forward Definitions ========================-->
- <!-- ========= Action Mapping Definitions ========================-->
- <action-mappings>
- <action path="/show_Database" type="database.ShowDatabaseAction" name="ShowDatabaseForm" scope="request">
<forward name="success" path="/test3.jsp" />
</action>
</action-mappings>
- <!-- ========== Message Resources Definitions ====================-->
<message-resources parameter="ApplicationResources" />
- <!-- ========== Plug Ins Configuration ===========================-->
</struts-config>



このstruts-configについてですが、
<!DOCTYPE struts-config (View Source for full doctype...)> の部分と、
行の先頭にたまにある"-"はエラーの原因になりそうです。

<!DOCTYPE struts-config (View Source for full doctype...)> は、
Struts1.1をお使いなら、
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
と直してみてはどうでしょう。
そして"-"は消して、スペースなり、タブでインデントをしてみてください。
イマ
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-23 02:31
ヒッドに指摘された先頭にある"-"何ですがコピーする際にInternet Explorer上から
取ってきてしまったため、あらわされてしまったものです。申し訳ない。
ソースでは以下のとうりです。

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN""http://jakarta.apache.org/struts/dtds/struts-fig_1_1.dtd">

<struts-config>
<!-- ========= Data Souce Configuration ========================== -->

<!-- ========= Form Bean Definitions ============================= -->
<form-beans>
<form-bean name="showDatabaseForm"
type="database.ShowDatabaseForm"/>
</form-beans>

<!-- ========= Global Forward Definitions ======================== -->

<!-- ========= Action Mapping Definitions ======================== -->
<action-mappings>
<action path="/show_Database"
type="database.ShowDatabaseAction"
name="showDatabaseForm"
scope="request">
<forward name="success" path="/test3.jsp"/>
</action>
</action-mappings>

<!-- ========== Message Resources Definitions ==================== -->
<!--<message-resources parameter="ApplicationResources"/>-->

<!-- ========== Plug Ins Configuration =========================== -->

</struts-config>

strutsはstruts1.1を使用していまして<!DOCTYPE struts-config PUBLIC・・・は
以前から上記のとうりでした。

エラーの症状は、WebブラウザのアドレスにJSPファイルまでのパスを打ち込み
実行させるとエラーが表示されるといった具合で、Actionを実行してから出る
エラーではないみたいです。
エラー文↓
org.apache.jasper.JasperException: Cannot find ActionMappings or ActionFormBeans collection

このためJSPファイルがおかしいのかと考え試行錯誤してみたところ
HTMLタグライブラリをはずして実行したら表示されたんですが、Actionを
実行すると以下のようなエラーになってしまいます。↓

The requested resource (/show_Database) is not available.
(要求した(/show_Database)は利用できない?)

作成したclassファイルはコンパイルエラーが出ていないので
なぜ利用できないのか?classファイルが原因なのかstruts-configのパスが原因なのか?
どのように解決できるのでしょうか?

このアプリケーションの構成は
-------------------------------------------------------------
JSPページ  sample.jsp  検索内容の入力
        test.jsp 結果表示
-------------------------------------------------------------
アクションフォーム  ShowDatabaseForm.java 検索内容の取得
アクション      ShowDatabaseAction.java データベースへのアクセス
-------------------------------------------------------------
データベース MySQL

strutsを使わず全部JSPで作ると上手く動作するんですが
不慣れなStrutsを使うと難しいものなんですね。
ヒッド
会議室デビュー日: 2004/06/14
投稿数: 7
投稿日時: 2004-06-23 13:07
イマさんと同じような環境でTomcatを実行して、
IEからページを開くと確かにイマさんと同じエラーが返ってきました。

しかし、Tomcatのコンソール上にstruts-config の
<!DOCTYPE struts-config PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN""http://jakarta.apache.org/struts/dtds/struts-fig_1_1.dtd"> のところに、
「PUBLICの後にスペースを入れろ」というのと、
「publicIdとsystemIdの間にスペースを入れろ」という旨のエラーが返ってきました。
このエラーのせいでstruts-configをうまく読み取ってくれず、
action-mappingsが正常に働いてくれないようです。

ですので、
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-fig_1_1.dtd">
というように書き直してみてください。

今度こそ解決するといいですね。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-06-23 15:56
引用:

strutsを使わず全部JSPで作ると上手く動作するんですが
不慣れなStrutsを使うと難しいものなんですね。



こういうのの基本は、「動くものをいじる」です。
まずは動くもの(サンプル等)を使って動作を確認し、じわじわ自分がしたいこと
を書いていきます。慣れてきたら、いきなり作り始めることができます。

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