javax.servlet.jsp.JspException:In&;书信电报;日期及日期;gt;,无法建立分析区域设置

javax.servlet.jsp.JspException:In&;书信电报;日期及日期;gt;,无法建立分析区域设置,jsp,jstl,atg,oracle-commerce,Jsp,Jstl,Atg,Oracle Commerce,是否有人可以确定此错误的根本原因?使用fmt:parseDate标记,以正确的格式解析日期。我似乎找不到一种方法来复制导致此异常的原因。 我的日期格式如:“2015-08-06 13:13:30.59” 正在从DB中提取order.submittedDate值,并尝试从date对象获取dd <fmt:parseDate value="${order.submittedDate}" pattern="yyyy-MM-dd" var="formatedDate"/> <fmt:fo

是否有人可以确定此错误的根本原因?使用fmt:parseDate标记,以正确的格式解析日期。我似乎找不到一种方法来复制导致此异常的原因。 我的日期格式如:“2015-08-06 13:13:30.59” 正在从DB中提取order.submittedDate值,并尝试从date对象获取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)

请尝试下面的代码,该代码将通过en_GB作为区域设置-您需要将其替换为您的区域设置:

    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)
 <fmt:parseDate value="${order.submittedDate}" pattern="yyyy-MM-dd" var="formatedDate" parseLocale="en_GB" />

如果要对区域设置进行软编码,可以在ATG中执行以下操作:

    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)
<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标头发送请求 尝试使用java客户端发出请求时出现此错误。默认情况下,浏览器发送接受语言标题。因此,客户端请求应该包含这个头

    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)
Accept-Language: en-GB

在Oracle Commerce/ATG中,这可能不起作用,因为区域设置可能基于您选择的站点,而不是您的浏览器标题。