fmt:formatDate 转换不正常

jstl的fmt:formatDate问题  标签: jstl  fmt  formatDate  分类: 学习点滴 2007-06-07 21:31最近使用java做点东西,觉得jstl真的挺方便,用到jsp上真是如鱼得水,不需要在页面上写java语句,不需要强制类型转换,不需要复杂的循环和各种判断,一切只需要用jstl标签。其中有个标签fmt:formatDate,可以按照指定的样式显示日期,这点确实挺好的,java处理日期本来就麻烦,这下可省了不少事,不过最近发现这个标签有问题,有时候pattern不管用,显示出来的是java的日期格式,究竟是怎么回事呢?没办法,只好下载了jstl的源码仔细研究(虽然看不大懂),这下才知道,原来这个标签是和locale相关的,如果locale为如果变成String类型返回而未做任何处理,我出现的问题就是和这个原因。再仔细看看locale是从哪取的,一看是不是用过fmt:setLocale,如果用过就用这个标签设置的locale,如果没有设过就用浏览器的语言设置。很不幸我的internet选项里的语言竟然是空的,这样才导致显示不正确。解决方法自然也有两种,一种是<fmt:setLocale value="zh_CN"/>,一种就是把浏览器的语言设置补上(不过别人的浏览器你就设不了了)。其实我也想不通,我都已经设定pattern了,和你语言是什么又有啥关系,也不知道做这个的老外是怎么想的,反正我也只做做中文的页面,算了,就忍了吧。我在网上看到也有人和我有一样的困惑,希望对你能有帮助。

以上为转载。

即加上<fmt:setLocale value="zh_CN"/>就好了。

你可能感兴趣的:(jsp,浏览器)