您正在使用 IPV4 [3.138.102.178] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 劳动节 011
2024年 端午节 051
2025年 元 旦 256
2025年 春 节 284
 
您现在的位置:首页 >> JSP >> 内容
本类新增
本类热门
JSP 中文字符处理代码
内容摘要: 1.为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它,代码如下:%!publicStringcodeToString(Stringstr){Strings=str;try{bytetemp[]=s.getBytes('ISO-8859-1');s=newString(temp);returns;}catch(Excep......
1.为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它,

代码如下:

<%!

publicStringcodeToString(Stringstr)

{

Strings=str;

try

{

bytetemp[]=s.getBytes("ISO-8859-1");

s=newString(temp);

returns;

}

catch(Exceptione)

{

returns;

}

}

%>

要转换时只需:coedeToString(request.getParameter(..));就可以了,很好用的。

2.一种普遍适用的方法,加一个过滤器,之后就可以过上一劳永逸的日子了。

代码如下:

packagefilters;

importjava.io.IOException;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletRequestWrapper;

publicclassTomcatFormFilterimplementsFilter{

/**

*Request.java

*对HttpServletRequestWrapper进行扩充,不影响原来的功能并能提供所

有的HttpServletRequest

*接口中的功能.它可以统一的对Tomcat默认设置下的中文问题进行解决而只

需要用新的Request对象替换页面中的

*request对象即可.

*/

classRequestextendsHttpServletRequestWrapper

{

publicRequest(HttpServletRequestrequest){

super(request);

}

/**

*转换由表单读取的数据的内码.

*从ISO字符转到GBK.

*/

publicStringtoChi(Stringinput){

try{

byte[]bytes=input.getBytes("ISO8859-1");

returnnewString(bytes,"GBK");

}

catch(Exceptionex){

}

returnnull;

}

/**

*ReturntheHttpServletRequestholdedbythisobject.

*/

privateHttpServletRequestgetHttpServletRequest()

{

return(HttpServletRequest)super.getRequest();

}

/**

*读取参数--修正了中文问题.

*/

publicStringgetParameter(Stringname)

{

return

toChi(getHttpServletRequest().getParameter(name));

}

/**

*读取参数列表-修正了中文问题.

*/

publicString[]getParameterValues(Stringname)

{

Stringvalues[]=

getHttpServletRequest().getParameterValues(name);

if(values!=null){

for(inti=0;i<values.length;i++){

values[i]=toChi(values[i]);

}

}

returnvalues;

}

}

publicvoiddestroy(){

}

publicvoiddoFilter(ServletRequestrequest,ServletResponse

response,

FilterChainchain)throwsIOException,ServletException{

HttpServletRequesthttpreq=(HttpServletRequest)request;

if(httpreq.getMethod().equals("POST")){

request.setCharacterEncoding("GBK");

}else{

request=newRequest(httpreq);

}

chain.doFilter(request,response);

}

publicvoidinit(FilterConfigfilterConfig)throws

ServletException{

}

}

当然要记得改下web.xml

代码如下:

<filter>

<filter-name>TomcatFormFilter</filter-name>

<filter-class>filters.TomcatFormFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>TomcatFormFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:jsp重定向地址栏不改变的实例

 

下一篇:JSP清除页面缓存常用方法小结

发布日期:2023/4/12
手机扫二维码直达本页
发布时间:12:49:37
点  击:2
录  入:齐天大圣
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,奇安信网站卫士提供加速防护
运行时间载入中.....