Webwork Forward 2 html

Web浏览器是否能正确显示一个Web页通常依赖两个条件:
一、页面的编码(文件编码).

二、该页定义的contentType.

其中页面的编码是决定性的因素。两者一致是,浏览器会正常显示内容,否则有可能产生乱码现像。

如果一个Html文件,文件编码为UTF-8。contentType设为相同。则使用IE或Firefox查看,两者都会自动选择正确的编码形式来解释。当我将contentType设为GB2312,以为会造成乱码,结果不会。我认为原因是这样的:文件编码起决定作用,加上Utf-8包括了GB该有的字符,所以这种情况是以大的来认识小的。没问题。(不知是否有理解错误 :P)。

上述情况为使用浏览器直接把开网页文件的结果。当我使用Webwork的Action时,将Html文件作为结果时(结果类型为dispatcher),乱码出现了!文件编码为UTF-8,页面定义的ContentType为UTF-8。但是偏偏使用IE及FireFox均得到乱码的结果。郁闷中用Firefox查看了页面的属性,惊奇地发现页面编码居然是GB2312。我猜想是Webwork在Dispatch页面的时候使用了默认的编码,把本来UTF-8编码的页面重新用GB2312编码一次。于是试着在Action里面获得Response并把字符编码改为UTF-8。最后发现结果依然一样。这时,我觉得在Action完成后,Webwork接下来使用了Response,我的设置被重置了。于是决定自已写一个Servlet,指定字符编码为UTF-8,结果直接Forward到我的Html页面。结果正确了!再查看页面信息,两者都是UTF-8了。

平时使用Webwork来Dispatch的都是Jsp,不曾出现过这样的情况。原因是Jsp仍需要编译,编译时会读取Jsp页面指定的ContentType来决定Response里的字符编码。HTML文件则不一样。这时只能使用默认编码。如果我的工程是Gb2312,那根本就不存在刚才所讲的问题的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值