Приложение выдает исключение org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): свойство или поле «название» не может быть найдено с нулевым значением
и я не могу понять, почему... Вот фрагмент html, вызванный мастером.
<title th:fragment="title">Surveys Feed</title>
<div th:fragment="content" th:each="surv : ${allSurveys}" >
<div id="surv-ct" style="min-width: 310px; max-width: 800px; height:400px; margin: 0 auto">
<script th:inline="javascript">
/*<![CDATA[*/
$('#surv-ct').highcharts({
chart: {
type: 'bar'
},
title: {
text: [[${surv.title}]]
},
// ... other stuff
</script>
</div>
</div>
Тем не менее, когда приложение запускается, заголовок поля не равен нулю! Здесь у нас есть сопоставление для объекта allSurveys, который берет все опросы из репозитория и возвращает список.
@ModelAttribute("allSurveys")
public List<Survey> allSurveys() {
List<Survey> surveys = new Surveys(repo.findAll()).getSurveys();
// print surveys titles
for (int i = 0; i < surveys.size(); i++) {
Survey sur = surveys.get(i);
System.out.println("Survey info: " + sur.getTitle());
}
return surveys;
}
В качестве доказательства мы можем видеть, что заголовки опросов печатаются на консоли: Консольный вывод
И они ПРИСУТСТВУЮТ в базе данных База данных опросов
Так почему он говорит, что это ноль? Я видел разные ответы в Интернете, но ни один из них не является решением для моего случая.
Спасибо заранее за вашу помощь.
РЕДАКТИРОВАТЬ: По предложению я попытался распечатать объект ${surv}. Я изменил атрибут "surv-ct" внутреннего div с идентификатора на класс, так как предполагается, что их много.
<div th:fragment="content" th:each="surv : ${allSurveys}" >
<div class="surv-ct" style="min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto">
<p>Object is: <span th:text=${surv}>obj</span></p>
<!--
<script th:inline="javascript">
/*<![CDATA[*/
$('.surv-ct').highcharts({
chart: {
type: 'bar'
},
// ... more code
-->
</div>
</div>
Когда я анализирую код в Mozilla, вот результат.
<p>Object is: <span></span></p>
<!--
<script th:inline="javascript">
/*<![CDATA[*/
$('.surv-ct').highcharts({
// ... more code that i deleted
// it's commented anyway
-->
Во-первых, печатается только один результат. А во-вторых, он не получает никакого объекта наблюдения. Вот почему поле «заголовок», я думаю, пустое. Так почему тогда объект нулевой? Любое предложение?
[[${surv.title}]]
на некоторое время и вместо этого напечатать только${surv}
где-нибудь. Таким образом, вы увидите, какие опросы являются нулевыми (потому что один или несколько опросов являются нулевыми, а не названия), если размер списка опросов точен и т. д. - person Michal M   schedule 07.01.2016