淘先锋技术网

首页 1 2 3 4 5 6 7

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

1、properties文件内容如下:userId=yoodb

name=素文宅

[email protected]

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把返回值赋给一个全局变量。