灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:19105回复:0

JSP多语言第一种

楼主#
更多 发布于:2013-07-09 12:56
以jsp页面title举例:
读取多语言肯定要放在properties中,并且通过后台读取properties对应的键返回其值,则jsp页面需要引入类:

  
[code ]<%@page import="com.mytest.sys.config.SysTextConfig"%>  
  
<%@page import="com.mytest.sys.config.SysTextConfig"%>这里SysTextConfig类处理多语言[/code]
[code ]<title><%=SysTextConfig.getConfigInfo("bsd_text")+SysTextConfig.getConfigInfo("title")%></title>  
  
<title><%=SysTextConfig.getConfigInfo("bsd_text")+SysTextConfig.getConfigInfo("title")%></title>
SysTextConfig类的内容为[/code]
  
[code ]public classSysTextConfig {  
      
        privatestatic  Properties properties =null;//读取properties的资源文件  
      
    private  staticlong lastModified=0;//内存中上次修改的时间 long型  
      
    private  staticString filePath=null;//保存properties文件的绝对路径  
      
    private  staticFile  sysConfigFile=null;  
            
   static{//初始化static变量的值  
        StringBuffer configFilePath = newStringBuffer();  
          
        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();  
    }        
   privatestaticboolean isNotlastModified(){  
       sysConfigFile= newFile(filePath);  
          
       if( sysConfigFile.lastModified()!=lastModified)  
           returntrue;  
           returnfalse;  
   }      
   privatestaticvoid loadSysConfigFile(){  
          
       properties = newProperties();  
        
       FileInputStream fileInputStream;  
       try{  
            fileInputStream = new   FileInputStream(sysConfigFile);  
            properties.load(fileInputStream);  
              
        } catch(Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
          
   }  
   public staticString getConfigInfo(String key) {  
           //函数入口,首先校验properties文件的最近以次修改时间,如果不为0 则代表其修改过 则要再次加载loadSysConfigFile  
           if(isNotlastModified()) loadSysConfigFile();    
       Object object = properties.get(key);   //读取properties的键  
       String value ="";  
       try{  
           if(StringUtils.isNotEmpty(object)){  
               value = newString(object.toString().getBytes("ISO8859_1"));//通过键返回其值  
           }  
        } catch(UnsupportedEncodingException e) {  
            e.printStackTrace();  
        }  
       returnvalue;    
   }        }  
  public classSysTextConfig {    
        privatestatic  Properties properties =null;//读取properties的资源文件
  
 private  staticlong lastModified=0;//内存中上次修改的时间 long型
    
    private  staticString filePath=null;//保存properties文件的绝对路径
    
    private  staticFile  sysConfigFile=null;
        
   static{//初始化static变量的值
     StringBuffer configFilePath = newStringBuffer();
      
     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();
    }    
   privatestaticboolean isNotlastModified(){
    sysConfigFile= newFile(filePath);
    
    if( sysConfigFile.lastModified()!=lastModified)
     returntrue;
     returnfalse;    }
      privatestaticvoid loadSysConfigFile(){
    
    properties = newProperties();    
    FileInputStream fileInputStream;
    try{
   fileInputStream = new   FileInputStream(sysConfigFile);
   properties.load(fileInputStream);
       } catch(Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();   }
        }
   public staticString getConfigInfo(String key) {
           //函数入口,首先校验properties文件的最近以次修改时间,如果不为0 则代表其修改过 则要再次加载loadSysConfigFile
           if(isNotlastModified()) loadSysConfigFile();  
    Object object = properties.get(key);   //读取properties的键
    String value ="";     try{
     if(StringUtils.isNotEmpty(object)){
      value = newString(object.toString().getBytes("ISO8859_1"));//通过键返回其值
     }
  } catch(UnsupportedEncodingException e) {
   e.printStackTrace();   }
    returnvalue;  
   }     }[/code]

喜欢0 评分0
游客

返回顶部