• 締切済み

Struts 1.3.10 でoptionタグ

初めてjavaをしている者で、質問内容は既に色々出ている様ですが 解決できなかったため、ご教授頂けないかと思い、投稿しました。 宜しくお願い致します。 エラー内容: 致命的: サーブレット jsp のServlet.service()が例外を投げました javax.servlet.jsp.JspException: org.apache.struts.taglib.html.BEAN という名前のbeanのプロパティ classcd に対するゲッターメソッドがありません java 1.6 tomcat 6.0 jsp 部分 <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"> <%-- Strutsタグの指定 --%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>商品マスタ登録</title> </head> <body> <%-- アクションパスを指定 --%> <html:form action="/login"> <html:select property="classcd" > <html:options collection="classcdList" property="id" labelProperty="name"/> </html:select> セッターゲッター部分 public String getClassCd() { return classcd; } public void setClassCd(String classcd) { this.classcd = classcd; } public ArrayList<SelectBoxData> getClassCdList() { return classcdList; } public void setClassCdList(ArrayList<SelectBoxData> classcdList) { this.classcdList = classcdList; } ActionForward execute部分 //月のセレクトボックスの初期化 ArrayList<SelectBoxData> list = new ArrayList<SelectBoxData>(12); for(int j = 1 ; j <= 12 ; j++){ SelectBoxData data = new SelectBoxData(); String setMonth = Integer.toString(j); data.setId(setMonth); data.setName(setMonth); list.add(data); } linFrom.setClassCdList(list); getHttpServletRequest.setAttribute("classcd", list);

  • Java
  • 回答数2
  • ありがとう数0

みんなの回答

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

><html:options collection="classcdList" とするなら >.setAttribute("classcd", list); ではなく .setAttribute("classcdList", list); ではないでしょうか。

toribit
質問者

補足

回答頂き、有難うございます。 残念ながら同じくbeenエラーが出てしまいました。 struts-configを触らないと駄目なのでしょうか・・・他の所では特に記載が無かったので何処か凄く単純なミスのような気はするのですが。 もう少し触ってみますが、何かヒントがあれば宜しくお願い致します。 JSP <html:select property="classcd" > <html:options collection="classcdList" property="id" labelProperty="name"/> </html:select> ゲッターセッター private String classcd; private ArrayList<SelectBoxData> classcdList; public String getClasscd() { return classcd; } public void setClasscd(String classcd) { this.classcd = classcd; } public ArrayList<SelectBoxData> getClasscdList() { return classcdList; } public void setClasscdList(ArrayList<SelectBoxData> classcdList) { this.classcdList = classcdList; } アクションフォーム // 動的なラジオボタンのデータの生成 List<SelectBoxData> list = new ArrayList<SelectBoxData>(); SelectBoxData data1 = new SelectBoxData(); data1.setId("01"); data1.setName("北海道"); SelectBoxData data2 = new SelectBoxData(); data2.setId("02"); data2.setName("東北"); SelectBoxData data3 = new SelectBoxData(); data3.setId("03"); data3.setName("関東"); list.add(data1); list.add(data2); list.add(data3); linFrom.setClasscd(""); linFrom.setClasscdList((ArrayList<SelectBoxData>) list); getHttpServletRequest.setAttribute("classcdList", list); //(5)ActionForward を取得する。 ActionForward acf = getActionMapping.findForward("OK"); //(6)戻り値を返す。 return acf; ※SelectBoxDataは変更なし

  • duron
  • ベストアンサー率77% (73/94)
回答No.1

strutsは長いこと触ってないので自信がないで違ってたらすいません。 classcd,classcdListに対するゲッターならば getClasscd,getClasscdListにしないといけないのではないですかね。

toribit
質問者

補足

回答、有難うございます。 確かに御指摘通り、ゲッターセッターの名前と引数の名前の大文字小文字はチェックされるようです。 http://okwave.jp/qa/q5398680.html お陰様で該当のエラーは消えましたが今度は以下のエラーが出ました。 (classcdListも同様の対処をしています。) 致命的: サーブレット jsp のServlet.service()が例外を投げました javax.servlet.jsp.JspException: classcdList という名前のbeanが見つかりません 以下、疑いましたが何か心当たりはありますでしょうか。 宜しくお願い致します。 public class SelectBoxData { /** セレクトの選択肢 */ private String id; private String name; public void setId(String id) { this.id = id; } public String getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; } }

関連するQ&A

  • Struts 1.3 でbeanタグが認識されない

    Struts初心者です。 Struts1.3で以下のようなJSPを作成していますが、 "bean:write"のところで、"bean"に対応するtaglibディレクトリが存在しないかTLDファイルが見つかりません。 とエラーになります。 <%@ page contentType="text/html;charset=Windows-31J" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> ・ ・ ・ <html:html> <head> <title>○○○○○○○○</title> </head> <body> <h1>○○○○○○○○</h1> ●●●●<bean:write name="xxxx" property="id" />! </body> </html:html> "html"の方はエラーになりません。 ケアレスミスのような気がしていますので、どなたか教えていただけると嬉しいです。

  • Strutsでoptionタグの作り方

    例えばActionFormのメンバにBeanのリストがあるとして、 JSPではStrutsのhtmlタグを使ってselectボックスのoptionに ActionForm内のBeanリストをセットする方法を教えて下さい。 具体的に実現したいことは以下のような事です。 例> // アクションフォーム public sampleForm extends ActionForm {  private List<sampleBean> sampleBeanList; // getter、setterは省略 } // JSPでStrutsタグ(<html:select>とか<html:options>)を使って以下のようなセレクトボックスを作成したい! // 実現方法をご存知のかた、どうかご教示ください。 <select> <option value="sampleBeanのプロパティ">sampleBeanのプロパティ</option> <option value="sampleBeanのプロパティ">sampleBeanのプロパティ</option> <option value="sampleBeanのプロパティ">sampleBeanのプロパティ</option> <option value="sampleBeanのプロパティ">sampleBeanのプロパティ</option> </select> ちなみに環境は以下の通りです。 Java 1.6 Struts 1.3.8 Tomcat 6 以上、宜しくお願い致します。

  • strutsでフレームの分割ができません。

    strutsで、 http://struts.wasureppoi.com/taglib/03_frame.html を見ながらフレームの分割を下記のように行おうとしていますが、エラーが表示されます。 ソース ---- <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-nested" prefix="nested" %> <html:html> <head> <title>テスト</title> </head> <frameset cols="30%,*"> <html:frame page="l.jsp"/> <html:frame page="r.jsp"/> </frameset> </html:html> ---- エラーメッセージ ---- HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: Exception in JSP: /index08.jsp:13 10: <title>テスト</title> 11: </head> 12: <frameset cols="30%,*"> 13: <html:frame page="l.jsp"/> 14: <html:frame page="r.jsp"/> 15: </frameset> 16: </html:html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) 原因 java.lang.NullPointerException org.apache.struts.taglib.TagUtils.pageURL(TagUtils.java:1070) ---- 別のページを見ると、 <html:frame page="l.jsp" name="hidari"/> とname属性を宣言しているようですが、同様に記述してみると、スコープが無いとエラーが出てしまいます。 環境は、  WindowsXP  Eclipse3.3  Tomcat5.5  struts-1.3.8  JDK1.5 です。 どのように記述すべきか、検索してもヒットしなかったので、恥かしながらここで質問させて頂く事にしました。 どのように直すべきか、分かる方がいらっしゃいましたらご教授頂けないでしょうか?  また、オススメのStrutsの本がありましたら、こちらも教えて頂けたら幸いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • html:cancelタグが複数の場合の判断

    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23092&forum=12&7 を参考に作っていたのですが、 ブラウザでソースの表示をして <input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="aaa"> <input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="bbb"> とあるとします。(jspには<html:cancel>で記述) java側で String cancel = HttpServletRequest#getParameter(org.apache.struts.taglib.html.Constants.CANCEL_KEY); で取得しようとしているのですが、”org.apache.struts.taglib.html.Constants.CANCEL_KEY”が赤いラインがでて、エラーになります。Eclipseに任せようとすると、別にメソッドを作ろうとします・・。 どうやれば取得できるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • 「StrutsによるWebアプリケーションスーパーサンプル」の本のサンプルのエラーについて

    「StrutsによるWebアプリケーションスーパーサンプル」(ソフトバンククリエィティブ)の本のP.124ページの「2-1」電子カタログを作ろうのサンプルなのですが、 P.125~128に記載されているデータベースの作成をして、2-1.warファイルをtomcatのwebappsのフォルダの なかにコピーしてtomcatを起動するとうまく解凍されてhttp://localhost:8080/2-1/Catalog.doにアクセスすると 正常に表示されたのですが、その解凍したファイルをeclipse側で2-1というプロジェクトを作成してインポートして strutsのlibの下のjarを追加してやると、 インポート javax.sql.DataSource は決して使用されません。の警告がでていました。 ソースのなかではDataSourceは使用しているのに警告が出ていたのが気になります。l http://localhost:8080/2-1/Catalog.doにアクセスすると以下のようなエラーが表示されました。 <エラー> org.apache.jasper.JasperException: 絶対URI: http://jakarta.apache.org/struts/tags-bean は web.xmlまたはこのアプリケーションを配備したJARファイルのどちらかでも解決できません 以下の内容をweb.xmlに追加して解決しました。 <web.xml> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location> </taglib> <taglib> つぎに、http://localhost:8080/2-1/Catalog.doにアクセスすると HTTP Status 404 - /2-1/Catalog.doのエラーがでて原因がわからなくてこまっています。 データベースが作成されていることは確認しています。 開発環境についてはCDに付属のものを使用してバージョンはあわせています。 tomcatでwarを解凍して削除すると設定データのごみが残っているのかなと思いまして、一度eclipseとtomcatを削除 して再インストールをしてもうまくいきませんでした。 C:\Program Files\Apache Group\Tomcat 4.1\confのなかのserver.xmlのなかには設定は追加されていることは 確認しています。 <Context path="/2-1" reloadable="true" docBase="C:\eclipse\workspace\2-1" workDir="C:\eclipse\workspace\2-1\work\org\apache\jsp" /> あと、DFツール、ファイル作成機でファイルとソースの内容を比較してみましたが、 おかしなところはありませんでした。 warファイルをtomcatのwebappsに入れるとエラーなくうまくいくのですが、eclipseからだとエラーになります。 どうかご教授よろしくお願いします。

  • eclipse+Struts+Tomcat

    eclipse+Struts+Tomcatという環境で開発を行おうとしています。 環境は以下のとおりです。 Pleiades all in one 3.5 struts 1.3.10 Tomcat 6.0.29 まず手始めに、一番シンプルなフォームに送信ボタンが1つあるだけのものを作ろうとしているのですが、以下のエラーが出て先に進めません。 The server encountered an internal error () that prevented it from fulfilling this request. 書いたソースは下記のとおりです。 <?xml version="1.0" encoding="UTF-8" ?> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>hogehoge</title> </head> <body> <html:form action="/HOGE" method="post"> <html:submit value="送信" /> </html:form> </body> </html> これをhtmlタグを一切使わずに書くと何のエラーもなく表示されます。 eclipseでhtmlタグを使用しない開発は考えられないのですが、今回Javaが初めてで何がどう悪いのかの見当もつきません。 プロジェクト自体は、「動的Webプロジェクト」で作成しています。 どなたかご存知の方はご教示いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 教えてください:strutsのhtml:formタグがjspに展開された状態の、actionの値について

    java初心者です。 どなたか教えていただけませんでしょうか? JAVAのstrutsを使用してソフトを作成しています。 JSPに記載した「<html:form action="/authentication" focus="id"> 」 との記述が、WEB(IE)に展開されたソースを見ると、「<form name="AuthenticationForm" method="post" action="/strutsTest/authentication">」 に変換されています。 action="/authentication"と記述しているにもかかわらず、 action="/strutsTest/authentication"と展開されているのですが /strutsTestが自動的に付与されているのは、なぜなのでしょうか? なにか設定するところがあるのでしょうか? ※struts-config.xmlに指定したpathと一致しない為、404NotFoundになるので自動設定しないように変更したいのです。 ちなみに環境は struts-1.3.10 Apache Tomcat 6.0.14 Server EclipsVersion: 3.4.2 pakage名:struts プロジェクト名:strutsTest struts-config.xmlの設定   <form-beans> <form-bean name="AuthenticationForm" type="struts.AuthenticationForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="fail" path="/login.jsp"/> </global-forwards> <action-mappings> <action path="/authentication" name="AuthenticationForm" type="struts.AuthenticationAction" scope="session"> <forward name="success" path="/welcome.jsp"/> <forward name="fail" path="/login.jsp"/> </action> </action-mappings> login.jsp <%@ page contentType="text/html; charset=Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/> <title>ログイン画面</title> </head> <body> <html:errors/> ID・パスワードを入力してください。 <html:form action="/authentication" focus="id"> <html:text property="id" size="16"/> <br> <html:password property="pas" size="16" redisplay="false" /> <br> <html:submit property="submit" value="送信"/> <html:reset value="リセット"/> </html:form> </body> </html:html> 動作順は、login.jsp => AuthenticationAction.class => welcome.jsp です。 よろしくお願いします。

  • Struts2のiteratorタグの使い方

    Struts2でiteratorタグを使用したいのですがJSPでの記述方法がわからず困っています。 アクションクラス、JSPでは以下のように記述しております。 検索するとActionクラス内でArrayListに独自のクラスが格納されている状態での記述方法 はサンプルとしてあったのですがArrayListにStringが格納されていた場合の記述方法に 関しての記載が見つかりませんでした。そのため現在、JSP側ではsession.getattribute()を 使用してしのいでいる次第です。 public ArrayList<String> getDatalist() { return this.datalist; } public void setDatalist(ArrayList<String> datalist) { this.datalist = datalist; } public String execute() { ArrayList<String> datalist = bdf.getDataList(); return "success";    } 以下、JSP側の記述 <s:iterator value="datalist"> ここの記述が不明 </s:iterator>

    • ベストアンサー
    • Java
  • strutsのサンプル画面について

    初めてstruts開発に携わる初心者です。 下記環境で、strutsのインストール確認を行おうと思うのですが 「The requested resource (/struts-examples/) is not available.」とエラーが発生してしまい大変困っています。 <環境> struts-1.3.8 Tomcat 6.0 jdk1.6.0_06 windowsXP <手順> (1)それぞれをダウンロード&インストール (2)JAVA_HOME、CATALINA_HOMEを設定 (3)struts-1.3.8\apps下のwarファイルをTomcat 6.0\webappsにコピー (4)http://localhost:8080/struts-blank-1.3.8で動作確認 <出力されたログ> 情報: Coyote HTTP/1.1を http-8080 で初期化します 2008/07/26 22:07:38 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 1148 ms 2008/07/26 22:07:38 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2008/07/26 22:07:38 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/6.0.16 2008/07/26 22:07:38 org.apache.catalina.startup.HostConfig deployWAR 情報: Webアプリケーションアーカイブ struts-examples-1.3.8.war を配備します 2008/07/26 22:07:41 org.apache.struts.action.ActionServlet initChain 情報: Loading chain catalog from jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/struts-examples-1.3.8/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules.xml' 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/upload/validation.xml' 2008/07/26 22:07:43 org.apache.struts.config.impl.ModuleConfigImpl addFormBeanConfig 警告: Overriding ActionForm of name localeForm 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules-compressed.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-bundles.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-i18nVariables.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-type.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-validwhen.xml' 2008/07/26 22:07:44 org.apache.coyote.http11.Http11Protocol start 情報: Coyote HTTP/1.1を http-8080 で起動します 2008/07/26 22:07:44 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2008/07/26 22:07:44 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/46 config=null 2008/07/26 22:07:44 org.apache.catalina.startup.Catalina start 情報: Server startup in 5831 ms 初歩的な質問ですが何卒よろしくお願いします。

    • ベストアンサー
    • Java
  • strutsについて

    eclipseとTomcat、strutsの勉強をしているのですがjspをブラウザからhttpで実行すると 「タグ "html:errors" にタグハンドラクラス "org.apache.struts.taglib.html.ErrorsTag" をロードできません」 とエラーがでてしまいます。 html:errorsをコメントアウトして実行すると、その次に使用しているhtml:formを使用している箇所でエラーになってしまいます。 struts.jarは関連させていますし。tblも関連させていると思っています。いろいろ検索してみたのですが対処方法がわかりません。 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> これをjspに記載していますが、WEB-INF配下にtldファイルがあれば特に問題ありませんよね?ファイル構成も大丈夫だとは思うのですが。 有識者がおりましたらご教授お願いします。情報が不足しているので指摘をお願いします。

専門家に質問してみよう