※ ChatGPTを利用し、要約された質問です(原文:java のstruts1.3です。)
Javaのstruts1.3でエラーが発生しました
このQ&Aのポイント
Javaのstruts1.3でエラーが発生し、新たなEntryWorkFormオブジェクトの配列をセットする際に型の不一致エラーが出ています
DB接続は正常に行われており、検索結果の行ごとにEntryWorkFormオブジェクトを生成して配列に追加しています
JSP画面で選択肢を動的に出力するためのセレクトボックスを作成しており、画面遷移時にエラーが発生しています
java のstruts1.3です。
Cannot invoke newStrutsKadai.EntryWorkForm.setArrayDB on bean class 'class newStrutsKadai.EntryWorkForm' - argument type mismatch - had objects of type "java.lang.String" but expected signature "java.util.ArrayList"
と言うエラーがでます。
以下javaのソースです。DB接続は完璧に出来ています。
public final class EntryWorkForm extends ActionForm {
private static final long serialVersionUID = 1L;
private String cmbOsName;
ArrayList<EntryWorkForm> array = new ArrayList<EntryWorkForm>( ) ;
public void reset( ActionMapping map, HttpServletRequest req ) {
//必要な部分だけ抜粋
//検索された行数文ループ
while( rs.next( ) ) {//本マスタテーブル 検索された行数文ループ
String stOSName = rs.getString("OSName");
//上記の2行を丁寧に記述した
EntryWorkForm obj = new EntryWorkForm( stOSName.toString() );
array.add( obj ) ;
} //END while( rs.next( ) )
this.setArrayDB( array );//ここでエラーエラーエラー
}
/****************************************************************************************/
private ArrayList<EntryWorkForm> arrayDB = new ArrayList<EntryWorkForm>( );
//セット オブジェクト配列
public void setArrayDB( ArrayList<EntryWorkForm> arrayDB ){ this.arrayDB = arrayDB; }
//ゲット オブジェクト配列
public ArrayList<EntryWorkForm> getArrayDB ( ) { return this.arrayDB ; }
/****************************************************************************************/
public String getCmbOSName ( ) {
return this.cmbOsName;
}
public void setCmbOSName ( String cmbOsName ) {
this.cmbOsName = cmbOsName;
}
public EntryWorkForm( ) { }
//コンストラクタ 引数あり
EntryWorkForm ( String cmbOSName ) {
System.out.println("テスト用で作成したコンストラクタが呼ばれています。 ReturnScreenFormDB.java");
cmbOsName = cmbOSName;
}
質問です---
JSPでセレクトボックスに動的に出力しています。
JSP画面でボタンを押して画面遷移をすると上記のエラーが出ます。