使用struts2的<s:param>等标签向action传值出现中文乱码的解决方法

         最近公司OA改版,由于修改了原来的框架,所以很多东西都得重新实现。

         废话不多说,问题所在:在一个页面中使用超链接,如下

<s:url id="resultDetailURL" action="queryPrice_detail">
               <s:param name="pageindex" value="pageindex"></s:param>
               <s:param name="model.id" value="%{id}"></s:param>               
               <s:param name="nameOrAddress" value="%{nameOrAddress}"></s:param>
               <s:param name="city" value="%{city}"></s:param>
               <s:param name="fwjg" value="%{fwjg}"></s:param>
               <s:param name="fwcx" value="%{fwcx}"></s:param>
               <s:param name="fwlx" value="%{fwlx}"></s:param>
               <s:param name="startPrice" value="%{startPrice}"></s:param>
               <s:param name="endPrice" value="%{endPrice}"></s:param>
                </s:url>
              <s:a href="%{resultDetailURL}" title="详细信息"><img src="images/oprator/view_detail.png" style="margin-bottom:-2px" border="0" title="详细信息" alt="详细信息" />&nbsp;详细信息&nbsp;</s:a>    

 

       向action中传值时出现中文乱码,页面的编码方式已经设置为 UTF-8形式:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>    

     

        纠结了挺久,最后发现原来是在tomcat的server.xml配置文件中使用了GBK的编码方式:

            <Connector port="8085" protocol="HTTP/1.1"
                         maxTreads="500"
                         minSpareThreads="10" 
                         maxSpareThreads="50"
                        acceptCount="50"
                        connectionTimeout="20000"
                        redirectPort="8443"
                        URIEncoding="GBK"/>

           将GBK改为UTF-8,问题解决,当然情况不同可能出错点也不一样,仅供参考。

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值