256を超える値の配列によって提出されていないSpringMVC

配列を使用している場合SpringMVCを提出し、256以上のリストのサイズならば、エラーがなります。

その理由は、リストのみを最大256まで成長することができますのDataBinderデフォルトの制限です。

private int autoGrowCollectionLimit = DEFAULT_AUTO_GROW_COLLECTION_LIMIT;

ソリューション:

1)事業を変更し、一度256以上のデータを提出することが許可されていません笑い

2)それを必要とするアクションInitBinderメソッドを追加します。すべてのアクションは、コードの冗長性を確認するためにたくさん......仕事、だけでなく、困難なだけではないを追加する必要があります場合はぎこちありません

@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);
}
 
 

3)WebBindingInitializerクラスを追加すること、およびXMLに配置されています。推奨笑い(あなたはそれについてSpringMVCを学ぶために、どのようなxmlファイルの変更がわからない場合闘い

public class DataBindingInitializer implements WebBindingInitializer {
    @Override
    public void initBinder(WebDataBinder binder, WebRequest request) {
        binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);
    }
}
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	<property name="webBindingInitializer">
		<bean class="xxx.DataBindingInitializer"/>
	</property>
</bean>



おすすめ

転載: blog.csdn.net/F2004/article/details/17218039