Spring + Thymeleaf Переменные объекта поддержки вложенной формыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring + Thymeleaf Переменные объекта поддержки вложенной формы

Сообщение Anonymous »

У меня возникают ошибки нулевого указателя при попытке сослаться на вложенные переменные объектов, поддерживающих форму.Например

Код: Выделить всё

        ...

...

где, скажем, значение dto клиента (в этом примере мы используем вложенные объекты dto) равно нулю, приводит к ошибке нулевого указателя.
Я попробовал сделать это но тогда тимелеаф жалуется, что workOrder? не существует в объекте как поле, что технически верно, но тимелеаф путает нулевой безопасный оператор с именем поля...
Итак, я попробовал Но я не фанат этого, поскольку его довольно сложно набирать, в HTML он выглядит очень некрасиво и выдает ошибку

org.thymeleaf.Exceptions.TemplateProcessingException: выражение «*{workOrder.customer} != null ? *{workOrder.customer.name} : ''» недопустимо: только выражения переменных $ {...} или выражения выбора *{...} разрешены в привязках полей Spring

Поэтому я наивно подумал, почему бы не попробовать поддержку вложенных форм объекты и обработка их по мере продвижения по DOM
т.е. в документации тимелеафа приведен пример в разделе 14.2

Код: Выделить всё


...

Name:[/b] Frederic Tomato
[b]    ...

...

…что делает это *{name} эквивалентным:

Код: Выделить всё

Name:[/b] Frederic Tomato
Имейте в виду, что эта вложенная функция желательна, поскольку она удаляет все раздувания, присутствующие в первой половине HTML-кода этого вопроса.
< blockquote>
org.thymeleaf.Exceptions.TemplateProcessingException: для выбора объекта используется выражение *{workOrder}, которое недопустимо: в '{ разрешены только выражения переменных (${...}). th:object,data-th-object}' в средах с поддержкой Spring.

Затем я обнаружил, что для Thymeleaf и Thymleaf существует отдельная документация + Spring.
Я использую Thymeleaf + Spring, и в документации Thymeleaf + Spring не упоминается тот факт, что содержимое внутри *{...} должно быть очень конкретным и не может быть вложенным. и отличается от стандартного Thymeleaf.
Итак, после многих лет разработки я пришел к выводу, что не могу справиться даже с исключением нулевого указателя и бесполезен даже с документацией.
Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -variables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»