Я пытаюсь локализовать валюту в своем веб-приложении JSP, проблема в том, что когда я запрашиваю локаль, я получаю только код языка ("en") вместо полного языка и кода страны ("en_US").
Проблема в том, что formatNumber не работает, если значение setLocale не содержит язык и код страны.
Я могу решить эту проблему, проверив язык локали в начале страницы jsp и установив код страны по умолчанию для нескольких языков, а затем установив значение setLocale, но этот метод мне кажется довольно уродливым. Есть ли лучший способ сделать это?
Вот как я это делаю сейчас:
<c:choose>
<c:when test="${pageContext.response.locale == 'cs'}">
<f:setLocale value="cs_CZ" />
</c:when>
<c:otherwise>
<f:setLocale value="en_US" />
</c:otherwise>
</c:choose>
<f:formatNumber type="currency" value="${product.price}" currencyCode="CZK"/>