本文实例讲述了ajax读取properties资源文件数据的方法。。具体实现方法如下:
properties资源文件的内容如下:
hello=englishwwname=english zkemailEmpty=Field cannot be empty!emailInvalid=Invalid email address!
js调用ajax处理代码:
$.ajax({ type:'POST', dataType:'json', url:'/jeecms/jeecms/ajax/cms/getResourceBundle.do', async:false, success:function(data){ jsonData=data.jsI18n;//jsI18n是java返回时赋予的名称 jsi18n=eval_r('('+jsonData+')');//转化为json对象 alert("property is "+jsi18n.hello); }, error:function(data){ alert("error"); }});
java处理文件getResourceBundle.do代码:
publicString getResourceBundle(){ ResourceBundle RESOURCE_BUNDLE; if(contextPvd.getSessionAttr("gLanguage")!=null&&contextPvd.getSessionAttr("gLanguage").equals("1")){ RESOURCE_BUNDLE=ResourceBundle.getBundle("jsI18n",Locale.ENGLISH);}else{ RESOURCE_BUNDLE =ResourceBundle.getBundle("jsI18n",Locale.CHINA);}//判断语言类别的,忽视Set keySet=RESOURCE_BUNDLE.keySet();//读取资源文件数据拼接成json格式字符串返回String jsonString = newString();jsonString+="{";for(String key:keySet){ jsonString+='"'+key+'"'+":"+'"'+RESOURCE_BUNDLE.getString(key)+'"'+",";}//把字符串赋给返回对象的jsI18n(这里随意)jsonRoot.put("jsI18n",jsonString.substring(0,jsonString.length()-1)+"}");return SUCCESS;}
注意:js请求成功后,如果其它js里也要用到读出的内容,则把返回值赋给一个全局变量。
希望本文所述对大家的Ajax程序设计有所帮助。
新闻热点
疑难解答
图片精选