Я втыкаю значение в скрытый ввод с помощью Thymeleaf и продолжаю получать сообщение об ошибке Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "receiptInquirySearchForm.cardNumber?:''" (template: "results.html" - line 14, col 44)
Я пытался поместить ?
после receiptInquirySearchForm
, после cardNumber
и после обоих.Я продолжаю получать ту же ошибку в этой строке.
Вот строка 14:
<input type="hidden" name="cardNumber" data-th-value="${receiptInquirySearchForm.cardNumber?}" />
Теперь я знаю, receiptInquirySearchForm
является допустимым ненулевым объектом, потому что у меня есть несколько других скрытых входовкоторые не выдают ошибок.
<input type="hidden" name="tokenId" data-th-value="${receiptInquirySearchForm.tokenId}" />
<input type="hidden" name="accountNumber" data-th-value="${receiptInquirySearchForm.accountNumber}" />
<input type="hidden" name="sku" data-th-value="${receiptInquirySearchForm.sku}" />
Когда я изменяю data-th-value
с cardNumber
на tokenId
, он проходит через этот блок скрытых входов, поэтому любая другая строка работает нормально.
UPDATE Я нашел еще одно более описательное сообщение об ошибке ниже.Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'cardNumber' cannot be found on object of type '...web.form.ReceiptInquirySearchForm' - maybe not public or not valid?
Как я могу проверить это в коде?Я знаю, иногда это будет там, но, по-видимому, в данном случае это не так.
Они делали это в Velocity так:
<input type="hidden" name="cardNumber" value="$!receiptInquirySearchForm.cardNumber" />
В восклицательном коде правильно обрабатывается возможный отсутствующий или нулевой номер карты.