JSTL格式库:`http://java.sun.com/jsp/jstl/fmt`不';如果没有“Accept Language”标题,则根本不起作用
JSTL格式库:JSTL格式库:`http://java.sun.com/jsp/jstl/fmt`不';如果没有“Accept Language”标题,则根本不起作用,jsp,jakarta-ee,jstl,Jsp,Jakarta Ee,Jstl,JSTL格式库:http://java.sun.com/jsp/jstl/fmt如果没有Accept Language标题,则根本不起作用。有人能解释这是为什么以及如何绕过它吗(除了提供标题) 例如:将通过普通的web浏览器格式化日期,但使用telnet或curl请求页面时,页面格式不正确。至于发生这种情况的原因,这似乎是意料之中的行为 根据JSTL规范: 9.9 空值和错误处理 如果值为空,请删除指定范围的变量(请参见属性var和范围) 如果时区为null或空,则将其视为丢失 如果此操作无法
http://java.sun.com/jsp/jstl/fmt如果没有Accept Language
标题,则根本不起作用。有人能解释这是为什么以及如何绕过它吗(除了提供标题)
例如:将通过普通的web浏览器格式化日期,但使用telnet或curl请求页面时,页面格式不正确。至于发生这种情况的原因,这似乎是意料之中的行为
根据JSTL规范:
9.9
空值和错误处理
- 如果
值
为空,请删除指定范围的变量(请参见属性var
和范围
)
- 如果
时区
为null或空,则将其视为丢失
- 如果此操作无法确定格式化区域设置,它将使用
java.util.Date.toString()
作为输出格式
因此,根据您的错误,如果服务器端没有设置语言环境&请求也没有通过,JSTL将返回到日期上的toString()
调用,而不是JVM设置的语言环境。我问题的后半部分可能重复,但第一部分仍然没有回答。为什么,如果我在请求中没有那个头,我就得不到任何格式,这是怎么回事?冒着杀死messenger的风险:为什么,如果我指定了一个模式,它会给出一个关于区域设置的提示。(谢谢你帮我把这个从规范中挖出来)我知道你的意思,特别是如果你已经指定了,例如“dd-mm-yy”,它应该是相当普遍的有效。也许我们考虑的是模式中使用的日/月名称,但仍然不是不回到JVM值的理由