程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP多語言第一種

JSP多語言第一種

編輯:關於JSP

以jsp頁面title舉例:

讀取多語言肯定要放在properties中,並且通過後台讀取properties對應的鍵返回其值,則jsp頁面需要引入類:


  

<%@page import="com.mytest.sys.config.SysTextConfig"%> 

<%@page import="com.mytest.sys.config.SysTextConfig"%>這裡SysTextConfig類處理多語言

<title><%=SysTextConfig.getConfigInfo("bsd_text")+SysTextConfig.getConfigInfo("title")%></title> 

<title><%=SysTextConfig.getConfigInfo("bsd_text")+SysTextConfig.getConfigInfo("title")%></title>
SysTextConfig類的內容為

  

public class SysTextConfig { 
     
        private static  Properties properties =null;//讀取properties的資源文件  
     
    private  static long lastModified=0;//內存中上次修改的時間 long型  
     
    private  static String filePath=null;//保存properties文件的絕對路徑  
     
    private  static File  sysConfigFile=null; 
     
    
   static {//初始化static變量的值  
        StringBuffer configFilePath = new StringBuffer(); 
         
        String classPath= SysTextConfig.class.getClassLoader().getResource("").getPath(); 
        String weninfoPath = classPath.substring(0,classPath.lastIndexOf("classes")); 
         
        configFilePath.append(weninfoPath).append("config"); 
         
        configFilePath.append(File.separator).append("sysText.properties"); 
         
        filePath=configFilePath.toString();  
    } 
    
   private static boolean isNotlastModified(){ 
       sysConfigFile= new File(filePath); 
        
       if( sysConfigFile.lastModified()!=lastModified) 
           return true; 
           return false; 
   } 
   
   private static void loadSysConfigFile(){ 
        
       properties = new Properties(); 
       
       FileInputStream fileInputStream; 
       try { 
            fileInputStream = new   FileInputStream(sysConfigFile); 
            properties.load(fileInputStream); 
             
        } catch (Exception e) { 
            // TODO Auto-generated catch block  
            e.printStackTrace(); 
        } 
        
   } 
   public static String getConfigInfo(String key) { 
           //函數入口,首先校驗properties文件的最近以次修改時間,如果不為0 則代表其修改過 則要再次加載loadSysConfigFile  
           if(isNotlastModified()) loadSysConfigFile();    
       Object object = properties.get(key);   //讀取properties的鍵  
       String value =""; 
       try { 
           if(StringUtils.isNotEmpty(object)){ 
               value = new String(object.toString().getBytes("ISO8859_1"));//通過鍵返回其值  
           } 
        } catch (UnsupportedEncodingException e) { 
            e.printStackTrace(); 
        } 
       return value;    
   }    
 
} 

public class SysTextConfig {
 
        private static  Properties properties =null;//讀取properties的資源文件
 
 private  static long lastModified=0;//內存中上次修改的時間 long型
   
    private  static String filePath=null;//保存properties文件的絕對路徑
   
    private  static File  sysConfigFile=null;
   
  
   static {//初始化static變量的值
     StringBuffer configFilePath = new StringBuffer();
     
     String classPath= SysTextConfig.class.getClassLoader().getResource("").getPath();
     String weninfoPath = classPath.substring(0,classPath.lastIndexOf("classes"));
     
  configFilePath.append(weninfoPath).append("config");
  
  configFilePath.append(File.separator).append("sysText.properties");
  
  filePath=configFilePath.toString();
    }
  
   private static boolean isNotlastModified(){
    sysConfigFile= new File(filePath);
   
    if( sysConfigFile.lastModified()!=lastModified)
     return true;
     return false;
   }
 
   private static void loadSysConfigFile(){
   
    properties = new Properties();
  
    FileInputStream fileInputStream;
    try {
   fileInputStream = new   FileInputStream(sysConfigFile);
   properties.load(fileInputStream);
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
   
   }
   public static String getConfigInfo(String key) {
           //函數入口,首先校驗properties文件的最近以次修改時間,如果不為0 則代表其修改過 則要再次加載loadSysConfigFile
           if(isNotlastModified()) loadSysConfigFile();  
    Object object = properties.get(key);   //讀取properties的鍵
    String value ="";
    try {
     if(StringUtils.isNotEmpty(object)){
      value = new String(object.toString().getBytes("ISO8859_1"));//通過鍵返回其值
     }
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
    return value;  
   }  

}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved