gpt4 book ai didi

java - 将对象列表从 View 发送到 Controller : limited to 256 objects

转载 作者:搜寻专家 更新时间:2023-11-01 03:22:17 25 4
gpt4 key购买 nike

我的 View 中有一个表单可以将对象发送到我的 Controller ,但问题是如果我发送超过 256 个对象,我会遇到异常:

org.springframework.beans.InvalidPropertyException: Invalid property 'followers[256]' of bean class [org.myec3.portalgen.plugins.newsletter.dto.FollowerFileDto]: Index of out of bounds in property path 'followers[256]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 256, Size: 256

所以我想知道为什么这样的限制,我找到了这个主题:https://stackoverflow.com/a/24699008/4173394

但它似乎对我不起作用(可能是我使用不当)。

这是我的结构:我的 View 称为 createUpdate.vm 并像这样发布我的表单:

<form id="createFollowerFileForm" method="post" action="#route("followerFileController.upsertFollowerFile")" enctype="multipart/form-data" class="form_styled">

我在 FollowerFileController 中的函数 upsertFollowerFile :

    @InitBinder
public void initBinder(WebDataBinder dataBinder) {
// this will allow 500 size of array.
dataBinder.setAutoGrowCollectionLimit(500);
}

@Secured({ "ROLE_SUPER_ADMIN_PORTALGEN", "ROLE_CUSTOMER_PORTALGEN", "ROLE_ADMIN_PORTALGEN", "ROLE_WRITER_PORTALGEN" })
public String upsertFollowerFile(
@ModelAttribute(value = "followerFile") FollowerFileDto followerFileDto,
BindingResult result, ModelMap model, HttpServletRequest request) {

还有我的类(class) FollowerFileDto :

public class FollowerFileDto {

private String title;

private Long followerId;

private boolean isDeletable;

private List<FollowerDto> followers;

public FollowerFileDto() {
this.followers = new ArrayList<FollowerDto>();
}

正如您在我的 Controller 中看到的那样,我尝试使用@InitBinder 注释设置超过 256 个允许的对象 (500),但它根本不起作用。 InitBinder 函数永远不会被调用。我做错了什么吗?感谢您的回答;)

最佳答案

实际上,@InitBinder 没有被读取,这就是为什么没有设置新的收集限制。我不得不将我的 springmvc-router 版本升级到 1.2.0(这也迫使我将我的 spring 版本升级到 3.2)。

在这些升级之后,使用相同的代码,它可以工作;)

关于java - 将对象列表从 View 发送到 Controller : limited to 256 objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27252974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com