私はWebSphere 5.1.2を使用しています。それはStruts 1だと思いますが、わかりません。Strutsは私のゲッターメソッドを使用していません
私の問題は次のとおりです。
私は自分のフォームに、入力タイプのテキストを持つBean BeanNameの動的リストを持っています。
私のフォームは、この(それがインターネットなしで仮想マシン上にあるので、&ペーストをコピーすることはできません)のようなものです:
public class MyForm extends ActionForm implements Serializable {
// Property
private List beanNameList = new ArrayList();
// Simple Getter
public List getBeanNameList() {
if (beanNameList == null) {
beanNameList = new ArrayList();
}
return beanNameList ;
}
// Item Getter
public BeanName getBeanNameList(int index) {
if (beanNameList == null) {
beanNameList = new ArrayList();
}
for (int i = beanNameList.size(); i <= index; i++) {
beanNameList.add(new BeanName());
}
return (BeanName)contractList.get(index);
}
// Simple Setter
public List setBeanNameList(List value) {
return beanNameList = value;
}
// Item Setter
public BeanName getBeanNameList(int index, BeanName value) {
if (beanNameList == null) {
beanNameList = new ArrayList();
}
for (int i = beanNameList.size(); i <= index; i++) {
beanNameList.add(new BeanName());
}
contractList.set(index, value);
}
}
私がフォームを送信すると、私ははIndexOutOfBoundsExceptionを受け取る:インデックス:3、サイズ:コンソールをAnalizing 0
、私はあなたが画像で見ることができるようStrutsのは、getBeanNameListをArrayList.getを使用し、されていません実現:
アイデア?
のStrutsの私のバージョンが古すぎる、そしてそれは本当にsigantureにインデックスを持つゲッターとセッターを使用していない
範囲エラーが発生しているようです。 **あなたが持っている**については、これらをチェックすることをお勧めします。彼らは皆あなたの誤りの原因となる素晴らしい候補者です。チェックポイントといくつかのデバッグは間違いなくあなたがエラーを見つけるのを助けるでしょう。 –
Replly edに感謝しますが、これが問題です。そこにブレークポイントを設定しても、それは止まらない。 –
私は、List getter "getBeanNameList()"にブレークポイントを設定し、それを停止しますが、単純なゲッターではありません "public BeanName getBeanNameList(int index)" –