struts中文的解决『文摘』

LiteratureReading:[2022] Reformer: The Efficient Transformer 所属机构:加州大学伯克利分校(U.C. Berkeley)和谷歌研究(Google Research)。电子邮件:kitaev@cs.berkeley.edu所属机构:谷歌研究(Google Research)。电子邮件:lukaszkaiser@google.com所属机构:谷歌研究(Google Research)。电子邮件:levskaya@google.com大型Transformer模型在许多任务上通常能够达到最先进的结果,但训练这些模型可能非常昂贵,尤其是在处理长序列时。 阅读详情

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 (c) 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

 

 

详细地址 http://www.javaresearch.org/forum/thread.jsp?column=20&thread=2281

电磁兼容(EMC)整改案例(七):EFT测试失败都是IC悬空引脚惹的祸 无论任何时候,为了避免这些问题,通常建议对悬空的IO口进行适当的配置,比如设置为强推挽输出低电平、输入带上拉或下拉电阻等,以减少外部电路对IO管脚状态的影响,并提高系统的稳定性和可靠性. 阅读详情

相关推荐

从零到一:Abaqus与Matlab联合仿真的自动化流程构建指南

本文详细介绍了如何构建Abaqus与Matlab联合仿真的自动化流程,涵盖基础架构设计、关键接口技术实现、结果提取与处理技术以及高级参数化优化流程。通过Python脚本作为桥梁,实现数据传递和任务控制,帮助工程师提升仿真效率。特别强调了版本兼容性、异常处理和性能监控等实用技巧。

weixin_29090089的博客 612

对Struts的资源文件进行汉化的便捷方法

     使用Struts框架进行编程的人都知道,在Struts中有一个资源文件MessageResources.properties,里面存放着很多字符串,页面中显示的字符串都是取自这个资源文件。这样做的好处是,可以方便快捷的对网站进行本地化,所作的工作仅仅是将该资源文件中的字符串进行本地化。     在对该资源文件进行汉化的时候,有一个问题,那就是需要使用native2asci

华丽的痘痘 2847

二、基于C语言的JPEG解码代码详解

// JPEG解码 // 输入JPEG后输出Bitmap #include <stdio.h> #include <stdlib.h> #pragma warning(disable : 4996) unsigned int BuffIndex; // JPEG数据的位置 unsigned int BuffSize; // JPEG数据的大小 unsigned int BuffX; // 图像的横向尺寸 unsigned int BuffY; //

m0_37633745的博客 4455

Struts2的国际化实例:中英文怎么转换?

1:首先按照之前的方法建立好项目,接着在src下面建两个File:message_en_US.properties(英文版)和message_zh_CN.properties(中文版) 2:接下来会在我们的视图层index.jsp中用到 s 标签,需要注意,代码基本如下所示: &lt;%@ page language="java" import="java.util.*" pageEnc...

shaozhuangGui的博客 351

Zipformer实战:5分钟快速搭建语音识别模型(附LibriSpeech测试结果)

本文提供了一份详细的Zipformer语音识别模型实战指南。通过清晰的步骤,指导读者在5分钟内完成从环境配置、LibriSpeech数据集准备到模型训练与测试的全过程。文章重点解析了关键配置参数,并分享了在LibriSpeech测试集上的性能结果,帮助开发者快速评估和应用这一高效的语音识别架构。

weixin_35578748的博客 162

SPICE模型入门到精通

文章目录前言一、SPICE是什么?二、1. 前言 由于笔者的毕业设计与功率半导体器件建模相关,需要用到SPICE软件来建模,在这记录一下从零开始的SPICE学习历程~ 一、SPICE是什么? 电子产品的设计一般先从功能框图开始,然后细化到原理图,还要经过很调试验证过程,最终才能完成。调试和验证的过程复杂而繁琐,在设计集成电路时更是如此,在制造之前急需验证集成电路的功能。 根据电路理论,人们可以建立起节点方程和回路方程,通过解这些方程组成的方程组就可以得到结果,也就是说可以通过计算来获得电路的工作情况。但

qq_42031914的博客 7万+

终极Struts中文及其它语言文字处理问题(文字国际化)

  文字国际化问题,对于初学者来说常常令人感到头痛;其实解决很容易,而且解决的办法有很多种。今天就struts的文字国际化处理作个总结,大家可以在这个思路上进一步灵活运用。  1. 首先所有的文字编码均采用UTF-8格式,至于为什么要采用UTF-8,大家可以翻阅资料。如:jsp中,可以加入:    2. struts框架提供了资源信息文件,它包含了jsp页面内容的一些文字说明,以及另一些供

906

【开关电源篇】整流及其滤波电路的工作原理和设计指南-超简单解读

半波整流是一种利用二极管的单向导通特性,将交流电转换为直流电的基础电路。它通过“切除”交流电的半个周期,仅保留另外半个周期来实现整流。1 开关电源超快学习思路点击跳转1.1开关电源的原理、结构和实物入门篇-超简单解读点击跳转1.2开关电源的EMI输入电路-超简单解读点击跳转倍压整流适用于需要高电压、小电流的特殊场合,通过电容充放电实现电压倍增。

2301_81299416的博客 2924

struts 中文问题解决(简单实用)

从google 上找了一堆资料,不过目前还是觉得下面的方法最好:struts 中的所有form的提交都由ActionServlet转发,所以在此修改字符集即可///////////////////////////////////////////////////////////////////////////////////////////////ActionServletCN.java/* * C

flice的专栏 795

C3 模块与普通 Bottleneck 堆叠区别

维度普通 Bottleneck 堆叠C3 模块设计理念残差学习CSP + 特征分治信息路径单一路径双路径(主干 + bypass)融合方式相加(Add)拼接(Concat)+ 卷积计算效率较低高(通道减半)特征保留弱(多次非线性)强(直连保留原始信息)梯度传播单一主路径多样化、更稳定任务适配通用(分类为主)专为目标检测优化可扩展性有限极强(即插即用各种模块)实际性能基准线显著优于(尤其在小目标和效率方面)

浩瀚之水的专栏 107

锂电池的充电和放电曲线解读

锂电池充放电曲线是反映其性能的关键指标。充电曲线分为恒流和恒压两阶段:恒流阶段电压快速上升,恒压阶段电流逐渐降低;放电曲线则呈现平台期和快速衰减期特征。这些曲线受温度、充放电倍率及材料体系(如三元锂或磷酸铁锂)显著影响。通过分析曲线特征,可优化电池管理系统,实现精准的SOC估算、快充策略制定及故障诊断,从而在电池性能与安全性间取得平衡。不同应用场景(如新能源汽车或消费电子)对曲线形态有特定要求。

start_up_go的博客 5067

ST Edge AI工具链E200/E801报错排查:从c-model到固件验证

在嵌入式AI部署中,TinyML模型往往需要经过工具链转换才能在STM32等MCU上高效运行。模型验证作为关键环节,常常因为运行时绑定失败或固件握手失败而中断。E200(ValidationError)提示网络c-model为空,说明模型转换产物未正确生成或绑定;E801(HwIOError)提示Invalid firmware,则表明板端固件未包含匹配的ST.AI runtime验证协议。理解c-model的本质——将神经网络结构编译为C代码与权重数组——以及runtime的调度机制,是定位问题的前提。从

cuankuangzhong6373的博客 625

ESP32-C3入门教程 环境篇②——Windows开发环境准备

文章目录一、注意事项二、下载ESP-IDF工具安装器三、安装内容四、详细安装步骤报错处理 一、注意事项 请注意 ESP-IDF 和 ESP-IDF 工具的安装路径不能超过 90 个字符,安装路径过长可能会导致构建失败。 Python 或 ESP-IDF 的安装路径中一定不能包含空格或括号。 除非操作系统配置为支持 Unicode UTF-8,否则 Python 或 ESP-IDF 的安装路径中也不能包括特殊字符(非 ASCII 码字符、中文字符) 二、下载ESP-IDF工具安装器 ESP-IDF Win

5244

[文摘]点击含中文字符的下载链接页面报404错误

为什么80%的码农都做不了架构师?>>> ...

weixin_33726943的博客 349

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Struts处方:Hibernate与Struts

Struts处方:Hibernate与Struts在struts应用程序里加入Hibernate作者:George Franciscus and Danilo Gurovich译者:KateLin(E-mail: katelin2004@hotmail.com)版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:George;Danilo;KateLin原文地址

陈杰的专栏 1660

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Struts2中s:set标签和s:if标签小结

今天自己做一个小项目前端页面展示用到strut2标签,期间遇到一些小的问题,在网上查找,现总结如下: 注:本文摘于:http://blog.sina.com.cn/s/blog_6effdb920100sms3.html 1、  s:set标签 格式:s:set n

abing198309的专栏 448

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

软件开发比较齐全的帮助文档下载地址

&lt;a href="http://www.gxp.cc/file-2298972.html" &gt;Ext.3.0.中文.chm&lt;/a&gt; &lt;a href="http://www.gxp.cc/file-2298974.html" &gt;ExtJS.chm&lt;/a&gt; &lt;a href="http://www.gxp.cc/file-22989

白强 373

"struts中文问题","struts国际化问题"——终极解决方案

引文--------------------------------------------------------------------------------说实话,你们的方法都做的复杂了,Java本身就支持多国语言编码,不需要写任何程序,可以很简单的 实现。 秘诀就是两点: 1、所有HTML/JSP页面全部采用UTF-8编码 2、客户端浏览器完全支持UTF-8编码 步骤: 1、首先把所有的

feng_sundy 的专栏 2万+

java的native2ascii.exe使用

struts2的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后 自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2ascii.exe在哪里都没有说明 后面摸索了一下,终于不乱码了。   第一步--

yupr2011的专栏 2524

struts2国际化解决中文乱码问题

在学习struts2的国际化时自己试了一下实例发现中文出现了乱码,国际化文件与页面如下图: 网上有方法说使用jdk的native2ascii.exe对文件转码,然而这个方法并不简单 native2ascii -encoding UTF-8 GlobalMessages.properties NewGlobalMessage.properties 实际上还是文件idea对文件编码的问题,在Settings中改一下设置就好,方法如下: File -> Settings -> Editor -&g

krain的博客 600

struts2 国际化 中文乱码英文不乱码问题

可能是转换中文资源文件时 用native2ascii 转换错误,我在zh_CN.properties里手打的ascii码,成功。

星河的专栏 1309

Struts2中文问题

Struts的中文问题,由3部分组成 jsp提交数据时,必须是UTF-8编码 struts拿到数据后进行UTF-8解码 服务端跳转到jsp进行显示的时候,要指定浏览器使用UTF-8进行显示 UTF-8可以换成GBK或者GB2312,但是必须统一,不能混用 。 解决方案如下: 第一步:提交数据的时候指定编码方式UTF-8,并且设置form 的method为post方式提交。 <%@ pag...

DearQ的博客 228

struts配置文件中文版式

一 Java Web应用配置文件:web.xml web.xml文件位于应用的WEB-INF目录,提供了WEB应用的配置信息. 一个相对完整的web.xml的文件如下: myWeb 应用描述 过滤器的逻辑名 过滤器的包名.过滤器的类名 过滤器的逻辑名 过滤器的监听路径 serv...

SQ更上一层楼穷千里目 229

解决 struts中文问题

首先建立建立一个ApplicationResources_cn.properties文件内容如下:errors.name=用户名错误在里面写入一些信息。并以UTF-8格式保存(我使用的是eclipse,在eclipse中设置文件的Properties属性为UTF-8既可).然后在dos下,先进入ApplicationResources_cn.properties文件所在的目录。

470

解决struts2国际化.properties配置文件中文乱码

进入JDK的bin目录下,把需要重新编码的.properties文件复制到bin目录下,如我们要修改resource.properties编码,编码后的新文件名字为 message.properties 执行命令: native2ascii -encoding utf-8 resource.properties message.properties message...

woheniccc的博客 1276
上一篇: Hibernate技术培训
下一篇: Java中利用散列表实现股票行情的查询
ealpha
博客等级 码龄23年 1粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值