и привязка к коллекциям - PullRequest
       1

и привязка к коллекциям

2 голосов
/ 09 ноября 2011

После включения <mvc:annotation-driven/> у меня возникла проблема при привязке выбора списка со списком с множественным выбором к соответствующему свойству списка в командном компоненте. До введения <mvc:annotation-driven/> он работал правильно.

У меня есть собственный редактор коллекций:

@InitBinder
public void initBinder(WebDataBinder binder) {
   binder.registerCustomEditor(List.class, new CustomCollectionEditor(List.class) {
      protected Object convertElement(Object element) {         
         String fieldName = (String)element;

         for (Field field : fields) {
            if (field.getFieldName().equals(fieldName))
               return field;
         }

         return element;
      }
   });
}

, что раньше привело бы к тому, что контроллер формы получил List<Field>, представляющий выбор списка. Однако, поскольку я использую <mvc:annotation-driven/>, я получаю List<List<Field>>.

Может ли кто-нибудь помочь пролить свет на это поведение?

1 Ответ

0 голосов
/ 10 ноября 2011

Это может быть даже не близко, но ...

Если вы создаете свой собственный AnnotationMethodHandlerAdapter для установки пользовательского webBindingInitializer, вам нужно иметь <mvc:annotation-driven /> после ваш AnnotationMethodHandlerAdapter, в противном случае будет использоваться созданный <mvc:annotation-driver />, а ваш пользовательский переплет не будет использоваться.

Попробуйте переместить его, если он еще не последний.

Кроме этого, я могу только предложить установить точку останова внутри вашей подшивки, чтобы увидеть, вызывается ли она.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...