本文實例講述了ajax讀取properties資源文件數據的方法。分享給大家供大家參考。具體實現方法如下:
properties資源文件的內容如下:
hello=englishww name=english zk emailEmpty=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程序設計有所幫助。