javax.servlet.jsp.JspException: в & lt; parseDate & gt;, локаль синтаксического анализа не может быть установлена
Кто-нибудь может определить причину этой ошибки? Использование тега fmt: parseDate для анализа даты в правильном формате. Я не могу найти способ повторить, что вызывает это исключение. Мой формат даты похож на пример:"2015-08-06 13:13:30.59" Извлечение значения order.submittedDate из БД и попытка получить dd из объекта даты.
<fmt:parseDate value="${order.submittedDate}" pattern="yyyy-MM-dd" var="formatedDate"/>
<fmt:formatDate pattern="dd" value="${formatedDate}" var="submittedDay"/>
найти ниже полной трассировки стека
javax.servlet.jsp.JspException: In <parseDate>, a parse locale can not be established
at org.apache.taglibs.standard.tag.common.fmt.ParseDateSupport.doEndTag(ParseDateSupport.java:138)
at org.apache.jsp.tp_002dapp.emailTemplate.orderConfirmationEmail_jsp._jspx_meth_fmt_005fparseDate_005f0(orderConfirmationEmail_jsp.java:1323)
2 ответа
Решение
Попробуйте приведенный ниже код, который передаст en_GB в качестве локали - вам нужно заменить его на локаль:
<fmt:parseDate value="${order.submittedDate}" pattern="yyyy-MM-dd" var="formatedDate" parseLocale="en_GB" />
Если вы хотите мягко кодировать локаль, вы можете сделать это в ATG следующим образом:
<dsp:importbean var="requestLocale" bean="/atg/dynamo/servlet/RequestLocale" />
<fmt:setLocale value="${requestLocale.locale}"/>
<fmt:parseDate value="${order.submittedDate}" pattern="yyyy-MM-dd" var="formatedDate" />
Отправьте запрос с помощью Accept-Language Header
Получил эту ошибку при попытке сделать запрос с клиентом Java. Браузеры по умолчанию отправляют заголовок Accept-Language. Таким образом, запрос клиента должен содержать этот заголовок.
Accept-Language: en-GB