Я використовую успадкування однієї таблиці в JPA.
-Автомобіль
- Електронний автомобіль
- Бензин-Авто
У своєму шаблоні чебрець я отримую доступ до списку надкласу (автомобіля) через для кожного, щоб створити таблицю з об’єктами обох підкласів.
<tr th:each="car : ${cars}"
th:class="${not car.isECar()} ? "electricCar" : "notECar"">
Тепер у мене проблема, що я хочу отримати доступ до властивості підкласу, якого немає в іншому.
<td th:text=""kWh " + ${car.kwh}" style="vertical-align: center;">1025 kWh</td>
Це призводить до наступного винятку:
org.springframework.expression.spel.SpelEvaluationException: EL1008E: (поз. 6): властивість або поле "..." не можна знайти на об'єкті типу ...
Чи є спосіб видати HTML-тег, лише якщо існує властивість?
Відповіді:
2 для відповіді № 1Гаразд, я знайшов вирішення:
Перш за все я написав метод у машині суперкласу, який повертає нуль.
У своєму підкласі E-Car я перезаписую метод, який повертає належне значення.
Тепер кожен автомобіль має метод, який називається getKWH (), і я можу отримати доступ до нього через:
<td th:text="${car.getKWH()} + " kWh"" th:if="${car.getKWH()!=null}">2200 kWh</td>