`
farryu
  • 浏览: 2085 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java用static和hashmap高效处理汉化的问题

阅读更多
本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;
进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教!

需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了,但是在对这些容器监控的时候,后台提供的数据都是英文,不可能再该,而页面则为了服务更多的中国客户,需要中文显示;

本人的实现:新建一个类,在该类中包含一个hashmap(在数据查找方面没有比这个容器更有效率的),声明一个静态块,将所有英文和中文转化的名值对放入该map中,源码:
public class NameConvert {

public  static  Map<String, String> nameMap = new HashMap<String, String>();
static{
nameMap.put("CreateCount", "创建的EJB实例数(个)");
nameMap.put("RemoveCount", "销毁的EJB实例数(个)");
nameMap.put("JSPCount", "已加载的jsp个数");
nameMap.put("milliseconds", "微秒");
nameMap.put("JMSMaxMessagesLoad", "JMS会话装载的最大消息数");
}

public NameConvert() {

}

public Map getNameMap() {
return nameMap;
}

public void setNameMap(Map nameMap) {
this.nameMap = nameMap;
}
}

注:转化个数比较多,本人只放了5个,
把hashmap放到static的好处是:这个类用的太频繁,如果每点用一次就要创建一个类的话,将是一个大的内存消耗,虽然java有垃圾回收机制,但是就像《effective java》中说的那样,不敢太相信它
用这个hashmap的话,只要将英文传进来,即可以得到相对应的中文信息
分享到:
评论
4 楼 farryu 2008-08-25  

farryu 写道
本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教! 需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了,

看来你公司的技术实力很强。这些服务器能自己开发不是一般的公司。。关注中...

呵呵,比较一般化的
3 楼 farryu 2008-08-25  
i18n确实不错,可是它还要把别的框架加进来,而我们的页面是纯jsf的,
jsf也要自己的国际化解决方案,和struct类似,不过他不能形成很好的映射,只能给property文件制定一个静态的key,得到一个静态的value
例如:message.properties里面有一条:
CreateCount=创建的EJB实例数(个)

在页面引用的时候就只能写message['CreateCount']得到右面的值,而我的需求则是一个可通过bean改变key值得方式
2 楼 wolfbrood 2008-08-25  
<div class='quote_title'>farryu 写道</div>
<div class='quote_div'>本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教! 需求是这样的:<span style='color: #ff0000;'>公司是做j2ee服务器的,web容器,ejb容器都已经完成了</span>, </div>
<p>看来你公司的技术实力很强。这些服务器能自己开发不是一般的公司。。关注中...</p>
<p> </p>
1 楼 抛出异常的爱 2008-08-25  
struts有个东西叫i18n

相关推荐

    Java SE程序 HashMap类

    Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序...

    Java基础-模拟HashMap集合(基于数组和链表) 数组和链表.pdf

    Java基础-模拟HashMap集合(基于数组和链表) 在本文中,我们将详细介绍如何模拟Java的HashMap集合,使用数组和链表来实现Hash表的存储。我们将从基本概念开始,逐步深入到HashMap的实现细节中。 什么是HashMap? ...

    java HashMap原理分析

    HashMap是一种高效的数据结构,它可以快速根据Key找到元素,但是需要正确地实现hashCode和equals方法,以避免哈希碰撞问题和equals方法的调用问题。 知识点: 1. 哈希函数的原理和应用 2. HashMap的存储原理和查询...

    Java HashMap类详解

    HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,虽然它们实现的接口规范不同,但它们底层的 Hash 存储机制完全一样。甚至 HashSet 本身就采用 HashMap 来实现的。 2. Hash 存储机制 HashMap ...

    ibatis 用HashMap解决resultClass映射

    通过上述介绍,我们可以看到使用 `HashMap` 解决 ibatis 中的动态列名和列数的问题是一种非常实用的方法。它不仅避免了为每种情况创建实体类的繁琐工作,还提高了代码的灵活性和可维护性。希望本文能够帮助你在实际...

    Java中HashMap的工作机制

    在Java中,HashMap是一种广泛使用的数据结构,它基于...总的来说,Java中的HashMap是一个灵活且高效的数据结构,适用于快速的查找和插入操作。理解其基于哈希的工作原理对于充分利用HashMap的性能优势是非常有帮助的。

    java中HashMap详解.pdf

    HashMap在处理数据时非常高效,因为其操作的时间复杂度接近于O(1)。这是通过使用散列函数将键映射到相应的位置来实现的。 在给定的文件中,我们看到了HashMap的初始化和添加元素的操作。例如,通过以下代码创建了一...

    java 使用web service读取HashMap里的数值

    2. **HashMap**:Java集合框架的一部分,是一种键值对存储结构,提供了非常高效的查询和修改操作。 #### 实现步骤 ##### 第一步:创建WebService接口 为了更好地展示整个过程,我们首先需要创建一个简单的...

    自定义map实现java的hashmap

    在Java编程中,HashMap是一个非常重要的数据结构,它实现了Map接口,提供了键值对的存储功能,具有快速存取和高效查找的特点。HashMap基于哈希表(也称为散列表)原理,通过键对象的哈希码来定位元素,进而实现O(1)...

    js 版 java hashmap

    在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...

    关于如何解决HashMap线程安全问题的介绍

    总结起来,理解HashMap的线程不安全性及其潜在问题,并根据实际需求选择合适的安全措施,是确保Java程序稳定运行的关键。无论是使用Collections.synchronizedMap()、ConcurrentHashMap还是避免在多线程环境中使用,...

    用hashmap实现词典查询

    同时,理解HashMap的内部机制对于优化查询性能和处理潜在问题至关重要。在实际项目中,还需要考虑如何优雅地处理异常情况,以及如何与其他系统组件进行有效集成,以构建完整的词典查询解决方案。

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Java集合专题总结:HashMap和HashTable源码学习和面试总结 本文总结了Java集合专题中的HashMap和HashTable,涵盖了它们的源码学习和面试总结。HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素...

    Java-HashMap.rar_hashmap_java hashmap

    总的来说,理解并熟练使用`HashMap`对于Java开发者来说至关重要,因为它在数据存储和检索方面提供了高效且灵活的解决方案。在学习和使用`HashMap`时,不仅要掌握其基本用法,还要了解其内部工作原理,包括哈希函数、...

    基于HashMap的用户标签处理兼Java中HashMap实现原理研究.pdf

    "基于HashMap的用户标签处理兼Java中HashMap实现原理研究" 本文研究了基于HashMap的用户...本文研究了基于HashMap的用户标签处理方法,并对Java中HashMap的实现原理进行了深入研究,为读者提供了一个高效的解决方案。

    java代码-使用java解决手写hashMap的源代码

    java代码-使用java解决手写hashMap的源代码 ——学习参考资料:仅用于个人学习使用!

    深入Java集合学习系列:HashMap的实现原理

    在Java编程语言中,集合框架是开发者日常工作中不可或缺的一部分,HashMap作为其中的重要成员,它的实现原理对于理解Java性能优化和数据结构有深远的意义。HashMap是一个基于哈希表的数据结构,它实现了Map接口,...

    HashMap和HashTable的区别和不同

    ### HashMap与HashTable的区别详解 #### 引言 在Java编程中,`HashMap`与`HashTable`作为两种常用的数据结构,...- 在大多数现代Java应用程序中,由于`HashMap`提供了更好的性能和灵活性,它成为了首选的数据结构。

    java hashmap 深度剖析,和hashmap 相关面试题

    java hashmap 深度剖析,和hashmap 相关面试题

    48-Java知识点 手写HashMap1

    总的来说,理解HashMap的工作原理,特别是putVal()方法中的hash计算和对象作为Key的要求,对于优化Java程序的性能和避免并发问题至关重要。在实际开发中,我们需要根据具体需求来合理设计Key的hashCode()和equals()...

Global site tag (gtag.js) - Google Analytics