JSP多语言第一种
24617 点击·0 回帖
![]() | ![]() | |
![]() | 以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] | |
![]() | ![]() |