0

Spring MVC アプリケーションがあります。Jspページには、送信するフォームが含まれています。私のコントローラーのメソッドは次のようになります。

@RequestMapping(value = "photos/fileUpload", method = RequestMethod.POST)
    @ResponseBody
    public String fileDetailsUpload(List<PhotoDTO> photoDTO,
                                    BindingResult bindingResult,
                                   HttpServletRequest request) {
        // in the point **photoDTO** is null
    }

私のクラスは:

    public class PhotoDTO {
        private Boolean mainPhoto;
        private String title;
        private String description;
        private Long realtyId;

//getters/setters

しかし、同じメソッドを書いたとしても、param は単なるオブジェクトです:

    @RequestMapping(value = "photos/fileUpload", method = RequestMethod.POST)
        @ResponseBody
        public String fileDetailsUpload(PhotoDTO photoDTO,
                                        BindingResult bindingResult,
                                        HttpServletRequest request) {
// Everething is Ok **photoDTO** has all fields, which were fielded on the JSP

状況で私は何をすべきですか?Jsp に多くのPhotoDTOオブジェクト (15) がある場合、サーバー側でそれらすべてを受信するにはどうすればよいですか?

4

1 に答える 1

1

ページは、リスト内のそれぞれのパラメーターをPhotoDTO適切な形式でサーバーに返す必要があります。この場合、status varを使用して、name属性を使用してリスト内の各オブジェクトのインデックスを指定する必要があります。

<form>
<c:forEach items="${photoDTO}" var="photo" varStatus="status">
        <input name="photoDTO[${status.index}].title" value="${photo.title}"/>
        <input name="photoDTO[${status.index}].description" value="${photo.description}"/>
</c:forEach>
</form>
于 2012-12-03T10:22:16.330 に答える