dポイントプレゼントキャンペーン実施中!

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画面でボタンを押して画面遷移をすると上記のエラーが出ます。

A 回答 (1件)

had objects of type "java.lang.String" but expected signature "java.util.ArrayList"



この一文に当てはまる場所が原因のはずよ。
型の不一致がないか確認してみて?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!