JSF页面编码问题

猜测:

JSF应用的第一个页面,jsf默认采用ISO-8859-1编码;

后续页面,客户端浏览器向jsf请求的时候,同时告诉JSF自己当前接受的编码,JSF据此将后续页面按客户端编码方式进行编码。

 

 测试:

页面链接加入中文参数,action到managed bean的方法

在managed bean的方法中,

            FacesContext context = FacesContext.getCurrentInstance();
            Map paramMap = context.getExternalContext().getRequestParameterMap();
            String catName = (String) paramMap.get("ParamName");


            String enc = context.getExternalContext().getRequestCharacterEncoding();
            if (enc == null) {
                catName = new String(catName.getBytes("ISO8859-1"), "UTF-8");
            } else {
                catName = new String(catName.getBytes(enc), "UTF-8");
            }

 

第一个页面取得的enc为null,后续页面取得enc不为空,中文解码正确。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值