JSP多语言第一种

以jsp页面title举例:

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

<%@page import="com.mytest.sys.config.SysTextConfig"%>
这里SysTextConfig类处理多语言

<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;   
   }   

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值