webwork2在weblogic下的中文问题解决

类别:Java 点击:0 评论:0 推荐:

研究了几天webwork2
我的习惯首先关注中文问题解决 我喜欢weblogic因为连地址栏写中文都没问题

中文这方面webwork2比struts更好解决  不用设置fitler过滤了不错

 jsp里都设置gb2312就可以
第一

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

有人说不能加,加了反而乱码,我就没问题
第二

在webwork.properties里加上
webwork.locale=zh_CN
webwork.i18n.encoding = GB2312

上面做完之后就OK了 页面传值,数据库插入读出都OK了

不过还有需要解决的地方 用过struts的都知道<bean:message>是乱码的webwork也一样,
当然这是java程序读文本文件里的中文就是乱码的
解决方法我以前知道的是用native2ascii来转换资源文件,不过转后在编辑就不认识了,修改依次转依次麻烦啊
所以我还是选择修改webwork textTag的源码 ,很简单的

找到TextTag.java 然后找到下面这段

        if(msg != null)
        {
            try
            {

              msg = new String(msg.getBytes("iso-8859-1"));//加入这行就OK了,这样会影响到国际化,(可以判断如果不是zh_CN就不执行转码,我还没试过)
                if(getId() == null)
                {
                    pageContext.getOut().write(msg);
                } else
                {
                    stack.getContext().put(getId(), msg);
                }
            }
            catch(IOException e)
            {
                throw new JspException(e);
            }
        }

struts里也可以这么做的

这样就不用在对资源文件进行native2ascii了

第三

还有会乱码的地方就是fileupload  上传中文名的文件会遇到文件名乱码问题

解决方法试在webwork.properties设置一下

webwork.multipart.parser=pell    //不要用cos

OK 目前我遇到的就这些了

本文地址:http://com.8s8s.com/it/it10323.htm