我在JPA中使用单表继承。
-Car
- 电动车
- 汽油车
在我的百里香模板中,我通过for-each访问超类(car)的列表,以便创建一个包含两个子类对象的表。
<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:(pos 6):属性或字段&#39; ...&#39;在类型的对象上找不到...
有没有办法渲染html标签,只有在属性存在的情况下?
答案 0 :(得分:2)
好的,我现在找到了一个解决方法:
首先,我在超类汽车中写了一个方法,它返回null。
在我的子类E-Car中,我覆盖了返回正确值的方法。
现在每辆车都有一个名为getKWH()的方法,我可以通过以下方式访问它:
<td th:text="${car.getKWH()} + ' kWh'" th:if="${car.getKWH()!=null}">2200 kWh</td>