Thymeleaf - टुकड़ों के लिए चर पास
Sep 21 2020
मेरे पास खंड के साथ टेम्पलेट है, जहां मैं चर पारित कर रहा हूं:
<div th:fragment="main">
<span>
<th:block th:include=" :: inner(${item})" /> </span> <a> <th:block th:include=" :: inner(${item})" />
</a>
</div>
<th:block th:fragment="inner(item)">
[[${item.name}]]
</th:block>
अगर मैं इसे रेंडर करने की कोशिश करता हूं तो मुझे एक त्रुटि मिलती है:
Property or field 'name' cannot be found on null
अगर मैं इसे इस तरह प्रस्तुत करता हूं
<div th:fragment="main">
<span>
<th:block th:include=" :: inner(${item})" />
[[${item.name}]] </span> <a> <th:block th:include=" :: inner(${item})" />
</a>
</div>
टुकड़ा करने के लिए चर असाइन करते समय मैं क्या गलत कर रहा हूं?
जवाब
michal.jakubeczy Sep 21 2020 at 21:47
ढ़ूँढ निकाला।
त्रुटि का कारण यह था कि मुख्य अंश के साथ रेंडर के दौरान 'इनर' टुकड़े का प्रतिपादन किया गया था। तो समावेश के साथ-साथ यदि इसका प्रतिपादन किया गया है। और इस अंतिम रेंडर ने इसे खराब कर दिया।
संभावित समाधान निम्नलिखित हैं:
- आंतरिक टुकड़े को दूसरी फ़ाइल में ले जाएं
th:if="false"सेल्फ रेंडरिंग से बचने के लिए 'इनर' टुकड़े में जोड़ें (निष्कर्ष काम करना जारी रखेगा)।