1

次のアクションフォームがあります。

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 の名前だけが正しく設定されます。リスト画像は単に空です。

エラーはどこにあるのでしょうか?

4

1 に答える 1

1

異なるキーワードが使用されていたため、すぐに見つかりませんでした。質問はここで答えられます: Struts logic:iterate input field

于 2013-06-25T13:06:15.080 に答える