本文執行個體講述了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程式設計有所協助。