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 &lt;parseDate&gt;, 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
Другие вопросы по тегам