原创

Ajax 实现读取 properties 格式资源文件数据

Ajax 的核心是 JavaScript 对象 XmlHttpRequest。该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest 使您可以使用 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。下面讲述一下通过Ajax读取properties格式资源文件数据。


1、properties文件内容如下:

userId=yoodb
name=素文宅
email=xxxxxx@163.com
address=中国北京市


2、Jquery实现调用Ajax处理代码,具体如下:

$.ajax({
 type:'POST',
 dataType:'json',
 url:'/handleProperties.do',
 async:false,
 success:function(data){
  jsonData = data.jsi18n;//jsi18n是java返回时赋予的名称
  jsi18n = eval_r('(' +jsonData+ ')');//转化为json对象(eval_r()函数可计算某个字符串,并执行其中的的 JavaScript 代码)
  alert("property is " + jsi18n.name);
 },
 error:function(event, XMLHttpRequest, ajaxOptions, thrownError){
  alert("error");
 }
});


3、Java后台处理properties文件,具体代码如下:

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)+'"'+",";
}
//把字符串赋给返回对象
jsonRoot.put("jsi18n",jsonString.substring(0,jsonString.length()-1)+"}");
return SUCCESS;
}

如果其他函数也需要调用返回的结果,需要通过Js把返回值赋给一个全局变量。

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信