javaGrowing
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
92 随笔 :: 33 文章 :: 49 评论 :: 0 Trackbacks
<
2005年12月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(12)
给我留言
查看公开留言
查看私人留言
随笔分类
(84)
asp.net(2)
(rss)
css(2)
(rss)
Hibernate
(rss)
java 学习(11)
(rss)
javascript(10)
(rss)
java面试试题(4)
(rss)
JDBC(4)
(rss)
jsp学习(8)
(rss)
log4j(3)
(rss)
oracle(4)
(rss)
sap(17)
(rss)
Spring(1)
(rss)
struts学习(3)
(rss)
tomcat(9)
(rss)
weblogic
(rss)
xml(1)
(rss)
正则表达式(5)
(rss)
英语学习
(rss)
随笔档案
(92)
2008年11月 (1)
2008年9月 (1)
2007年12月 (2)
2007年7月 (2)
2007年5月 (7)
2007年4月 (13)
2006年12月 (1)
2006年11月 (12)
2006年10月 (4)
2006年9月 (1)
2006年8月 (2)
2006年7月 (1)
2006年6月 (1)
2006年5月 (13)
2006年3月 (1)
2006年2月 (5)
2006年1月 (11)
2005年12月 (14)
文章分类
(32)
javascript(1)
(rss)
java学习(10)
(rss)
jsp(3)
(rss)
sap(13)
(rss)
好文收藏(5)
(rss)
文章档案
(33)
2009年10月 (1)
2008年3月 (2)
2008年2月 (9)
2007年8月 (2)
2007年7月 (2)
2007年6月 (2)
2006年10月 (2)
2006年9月 (3)
2006年6月 (1)
2006年3月 (2)
2005年12月 (1)
2005年10月 (1)
2005年9月 (5)
相册
图片
收藏夹
(1)
java(1)
(rss)
ajax
30 Scripts For Galleries, Slideshows and Lightboxes | Smashing Magazine
CSS Dock Menu
Dynamic Ajax Tabs in 20 Lines
http://extjs.com/
http://www.ajaxload.info/
http://www.miniajax.com/
Lightbox2
java
http://www.chinajavaworld.com
http://www.javaresearch.org/
http://www.javaworld.com.tw
http://www.jdon.com/
http://www.phpcms.cn/
java Examples
Java 開源社群
www.jguru.com
视频资源网
java专家论坛
Cedric Dumoulin
Cedric Dumoulin:struts开发小组的活跃份子,同时也是tiles框架结构的设计师
Craig McClanahan
Craig McClanahan:struts框架的设计者 ,同时也是java Web Services开发报的 实现设计师 .现在是sun关于jsf的规范设计师以及基于 j2ee平台的web层体现结构的领导者
Ted Husted
Ted Husted :一位知名的struts权威 ,Struts开发小组的一个活跃份子 ,JGuru中Struts论坛的管理员
linux
www.chinaunix.com
校园网—Linux
Oracle
itpub论坛
oracle中文用户讨论组
PHP
http://www.wordpress.org.cn
sap
http://help.sap.com/
http://www.sap.info/
jco javadoc
sap developer network
sap doc
sap service
sapfans
sap之家
sap学习
sap论坛
百易论坛
xml
http://www.perfectxml.com
xml dom
其他
2006最牛网站
ajax图片一
ajax图片二
amt公共知识库
http://blog.never-online.net/
http://www.popub.net/script/MSClass.html
世界经理人
中华服饰网
网络营销
致力于WEB标准网站建设CSS布局在中国的应用和发展
致力于WEB标准网站建设CSS布局在中国的应用和发展
课件下载
远程教育
远程教育(二)
领袖博客:名人门户+电子杂志
好站链接
AppFuse项目的主要目的是帮助你加速web应用程序的开发。
http://sourcebeat.com/
http://www.almaer.com/
http://www.dynamicdrive.com
http://www.jactiongroup.net/home/
http://www.javablogs.com
http://www.javalobby.org/
http://www.javascriptkit.com
http://www.jroller.org/
http://www.zwye.com/
http://www2.tw.freebsd.org/
java中文博览
java开发者
Java类装载体系中的隔离性
Java视线论坛
SpringFramework中文论坛
WebWork中文站点
www.javaresearch.org
www.TheServerSide.com
学生大
英语学习
学英语论坛
软件下载
E维软件
三好在线
软件之家
飞翔下载
電子書
http://www.bookgo.org/
netYi专业电脑电子书库
一起下载
爱书吧
电子杂志
搜索
积分与排名
积分 - 148292
排名 - 417
最新随笔
1. win2003不能识别移动硬盘的解决方法
2. maven
3. request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值
4. SAP 月末结帐步骤
5. javascript 的几种排序方法
最新评论
1. re: Java中Date类的应用[未登录]
对对对
--菜鸟
2. re: 给Tomcat,Apache配置gzip压缩(HTTP压缩)功能 (转)[未登录]
这第二种是怎么实现压缩的啊
--xh
3. re: javascript中的编码与解码
escape/unescape原来这样用
--pump
4. re: request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值 [未登录]
谢谢,解决了我的大问题
--小华
5. re: Java中Set的深入研究
评论内容较长,点击标题查看
--slj
阅读排行榜
1. javascript中的编码与解码(16157)
2. request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值 (11299)
3. Tomcat中设置远程debug方法(6226)
4. createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);参数(4420)
5. 应聘Java笔试时可能出现问题及其答案(第二版 第一部分) (3599)
评论排行榜
1. 应聘Java笔试时可能出现问题及其答案(第二版 第一部分) (15)
2. 用Struts Validator检查你的表单 (14)
3. request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值 (5)
4. javascript中的编码与解码(3)
5. 解决Oracle 9i和Tomcat端口冲突(转载)(1)
struts中文的解决
转自
www.javaresearch.org
作者 fishandfly
1.使
ApplicationResources.properties
支持中文
建立一个ApplicationResources_ISO.properties文件,把应用程序用的message都写进去,然后在dos下执行这个命令,
native2ascii -encoding gb2312 ApplicationResources_ISO.properties
ApplicationResources.properties
这样就会将ISO编码的ApplicationResources转换成GB2312编码的格式了,同时保存到
ApplicationResources.properties
.
native2ascii这个工具是jdk自带的一个东东,所以如果path都设定正确就可以直接运行了,你可以在$java_home$/bin下找到他。
转换后的中文类似于这个样子
iso 格式下 :tj.type=商品车类型
gb2312格式下 :tj.type=\u5546\u54c1\u8f66\u7c7b\u578b
然后在struts-config.xml中设置应用这个资源文件
<message-resources parameter="com.huahang.tj.ApplicationResources" key="org.apache.struts.action.MESSAGE" />
开发jsp时在jsp的开头写上<%@ page contentType="text/html; charset=gb2312" %>,将字符集设置成gb2312就可以了。
2.使数据库操作支持中文。
数据库操作支持中文一直让我比较头痛,但是感谢善解人衣向我推荐了www.chinaxp.org,这个网站是用struts框架开发的,而且
开放源码,下载了源码后发现它的中文处理得很好,阅读部分源码,没有发现什么特殊的字符集转换,很纳闷,偶然看到楼上网友
留言知道原来servlet可以统一设置字符转换。chinaxp.org就是这么做的。
在web.xml中加上
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.huahang.tj.struts.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
这里会涉及一个bean,源码如下:
/*
* XP Forum
*
* Copyright
2002-2003 RedSoft Group. All rights reserved.
*
*/
package com.huahang.tj.struts.filters;
import javax.servlet.*;
import java.io.IOException;
/**
* <p>Filter that sets the character encoding to be used in parsing the
* incoming request, either unconditionally or only if the client did not
* specify a character encoding. Configuration of this filter is based on
* the following initialization parameters:</p>
* <ul>
* <li><strong>encoding</strong> - The character encoding to be configured
* for this request, either conditionally or unconditionally based on
* the <code>ignore</code> initialization parameter. This parameter
* is required, so there is no default.</li>
* <li><strong>ignore</strong> - If set to "true", any character encoding
* specified by the client is ignored, and the value returned by the
* <code>selectEncoding()</code> method is set. If set to "false,
* <code>selectEncoding()</code> is called <strong>only</strong> if the
* client has not already specified an encoding. By default, this
* parameter is set to "true".</li>
* </ul>
*
* <p>Although this filter can be used unchanged, it is also easy to
* subclass it and make the <code>selectEncoding()</code> method more
* intelligent about what encoding to choose, based on characteristics of
* the incoming request (such as the values of the <code>Accept-Language</code>
* and <code>User-Agent</code> headers, or a value stashed in the current
* user's session.</p>
*
* @author <a href="mailto:jwtronics@yahoo.com">John Wong</a>
*
* @version $Id: SetCharacterEncodingFilter.java,v 1.1 2002/04/10 13:59:27 johnwong Exp $
*/
public class SetCharacterEncodingFilter implements Filter {
// ----------------------------------------------------- Instance Variables
/**
* The default character encoding to set for requests that pass through
* this filter.
*/
protected String encoding = null;
/**
* The filter configuration object we are associated with. If this value
* is null, this filter instance is not currently configured.
*/
protected FilterConfig filterConfig = null;
/**
* Should a character encoding specified by the client be ignored?
*/
protected boolean ignore = true;
// --------------------------------------------------------- Public Methods
/**
* Take this filter out of service.
*/
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
/**
* Select and set (if specified) the character encoding to be used to
* interpret request parameters for this request.
*
* @param request The servlet request we are processing
* @param result The servlet response we are creating
* @param chain The filter chain we are processing
*
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
// Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
// Pass control on to the next filter
chain.doFilter(request, response);
}
/**
* Place this filter into service.
*
* @param filterConfig The filter configuration object
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
// ------------------------------------------------------ Protected Methods
/**
* Select an appropriate character encoding to be used, based on the
* characteristics of the current request and/or filter initialization
* parameters. If no character encoding should be set, return
* <code>null</code>.
* <p>
* The default implementation unconditionally returns the value configured
* by the <strong>encoding</strong> initialization parameter for this
* filter.
*
* @param request The servlet request we are processing
*/
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}//EOC
加上这个后,在action中就可以直接从form中接收gb2312编码的数据了,返回时自然也是gb2312了。
但是这个好像需要servlet 2.2以上的容器
综合上面的方法,我解决了struts中的中文问题,现在还没发现新的问题。
我的环境是
windows2000 Professional,tomcat 4.04 , struts1.1b2
posted on 2005-12-27 15:56
javaGrowing
阅读(363)
评论(0)
编辑
收藏
所属分类:
struts学习
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
在Struts中使用JavaBean和List(多行数据)类型属性
扩展Struts
struts中文的解决
Powered by:
BlogJava
Copyright © javaGrowing