转载自:http://blog.csdn.net/haqer0825/article/details/9271147

以jsp页面title举例:

读取多语言肯定要放在properties中,并且通过后台读取properties对应的键返回其值,则jsp页面需要引入类:

[html]  view plain  copy
 print ?
  1. <%@page import="com.mytest.sys.config.SysTextConfig"%>  
这里SysTextConfig类处理多语言

[html]  view plain  copy
 print ?
  1. <title><%=SysTextConfig.getConfigInfo("bsd_text")+SysTextConfig.getConfigInfo("title")%></title>  

SysTextConfig类的内容为

[java]  view plain  copy
 print ?
  1. public class SysTextConfig {  
  2.       
  3.         private static  Properties properties =null;//读取properties的资源文件  
  4.       
  5.     private  static long lastModified=0;//内存中上次修改的时间 long型  
  6.       
  7.     private  static String filePath=null;//保存properties文件的绝对路径  
  8.       
  9.     private  static File  sysConfigFile=null;  
  10.       
  11.      
  12.    static {//初始化static变量的值  
  13.         StringBuffer configFilePath = new StringBuffer();  
  14.           
  15.         String classPath= SysTextConfig.class.getClassLoader().getResource("").getPath();  
  16.         String weninfoPath = classPath.substring(0,classPath.lastIndexOf("classes"));  
  17.           
  18.         configFilePath.append(weninfoPath).append("config");  
  19.           
  20.         configFilePath.append(File.separator).append("sysText.properties");  
  21.           
  22.         filePath=configFilePath.toString();   
  23.     }  
  24.      
  25.    private static boolean isNotlastModified(){  
  26.        sysConfigFile= new File(filePath);  
  27.          
  28.        if( sysConfigFile.lastModified()!=lastModified)  
  29.            return true;  
  30.            return false;  
  31.    }  
  32.     
  33.    private static void loadSysConfigFile(){  
  34.          
  35.        properties = new Properties();  
  36.         
  37.        FileInputStream fileInputStream;  
  38.        try {  
  39.             fileInputStream = new   FileInputStream(sysConfigFile);  
  40.             properties.load(fileInputStream);  
  41.               
  42.         } catch (Exception e) {  
  43.             // TODO Auto-generated catch block  
  44.             e.printStackTrace();  
  45.         }  
  46.          
  47.    }  
  48.    public static String getConfigInfo(String key) {  
  49.            //函数入口,首先校验properties文件的最近以次修改时间,如果不为0 则代表其修改过 则要再次加载loadSysConfigFile  
  50.            if(isNotlastModified()) loadSysConfigFile();     
  51.        Object object = properties.get(key);   //读取properties的键  
  52.        String value ="";  
  53.        try {  
  54.            if(StringUtils.isNotEmpty(object)){  
  55.                value = new String(object.toString().getBytes("ISO8859_1"));//通过键返回其值  
  56.            }  
  57.         } catch (UnsupportedEncodingException e) {  
  58.             e.printStackTrace();  
  59.         }  
  60.        return value;     
  61.    }     
  62.   
  63. }