次のアクションフォームがあります。
public class ImageGalleryActionForm extends org.apache.struts.action.ActionForm {
private String name;
private List<GalleryImage> images;
//GalleryImage is just a class with name and description as strings (and get/set methods)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<GalleryImage> getImages() {
return images;
}
public void setImages(List<GalleryImage> images) {
this.images = images;
}
public ImageGalleryActionForm() {
this.name = "";
this.images = new ArrayList<GalleryImage>();
}
@Override
public void reset(ActionMapping mapping,HttpServletRequest request){
name = "";
images = new ArrayList<GalleryImage>();
}
}
アクションでは、画像リストの値の一部をプリロードします。JSP では、これらの値を表示し、ユーザーが画像の説明とギャラリーの名前を変更できるようにします。
<html:form action="/pages/createNewGalleryAction" method="
Gallery name: <html:text property="name" />
<logic:iterate id="images" name="ImageGalleryActionForm" property="images">
Image name: <bean:write name="images" property="name"/>
Description:<br/>
<html:textarea name="images" property="description" />
</logic:iterate>
<html:submit>Submit</html:submit>
</html:form>
これは期待どおりに表示されますが、次のアクションがフォームを受け取ると、ImageGalleryActionForm の名前だけが正しく設定されます。リスト画像は単に空です。
エラーはどこにあるのでしょうか?