Как связать список списков в MVC весной с JSTL? - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь выложить список списков весной MVC, возможно ли это?Нужно ли нам писать какие-либо специальные методы привязки?Пожалуйста, помогите мне.

Код JSTL:

 <input id="labelDTOS0.labelItemDTOS0.newValue" 
 name="labelDTOS[0].labelItemDTOS[0].newValue" type="text" value=""/>

DTO:

public class LabelDTO {
public long id;
public String name;
public List<LabelItemDTO> labelItemDTOS;
}

public class LabelItemDTO {
public String value;
public String placeHolder;
public String newValue;
}

Исключение:

Invalid property 'labelDTOS[0].labelItemDTOS[0]' of bean class 
[com.goitdev.datarender.command.domain.CreateTemplateCommand]: Illegal 
attempt to get property 'labelItemDTOS' threw exception; nested exception 
is org.springframework.beans.NullValueInNestedPathException: Invalid 
property 'labelDTOS[0].labelItemDTOS' of bean class 
[com.goitdev.datarender.command.domain.CreateTemplateCommand]: Could not 
instantiate property type [com.goitdev.datarender.dto.domain.LabelItemDTO] 
to auto-grow nested property path; nested exception is 
java.lang.NoSuchMethodException: 
com.goitdev.datarender.dto.domain.LabelItemDTO.<init>()

1 Ответ

1 голос
/ 27 апреля 2019

Если вы попытаетесь выполнить отображение GET и распечатать значение вашего DTO, вы можете попробовать это:
В вашем методе контроллера:

...
model.addAttribute("labelDTO", new LabelDTO());
...

В JSP

...
<c:forEach items="${labelDTO.labelItemDTOS}" var="labelItemDTO">
<td>${labelItemDTO.value}<td>
<td>${labelItemDTO.placeHolder}<td>
<td>${labelItemDTO.newValue}<td>
</c:forEach>
...

Или для POST см.этот вопрос возможна такая же проблема.

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