问题描述
- 问一个我自己都觉得低端的问题,有关js页面的,忘记怎么个原理了
-
就是我在配置文件properties中定义了多个不同 key-value,然后页面上就用到了这个变量的key取到了value的值,搞不明白是怎么回事了,各位,帮解答一下吧
解决方案
你是用了插件吧。
js通过ajax读取properties文件文本内容,回调函数中接收文件内容(即整个文件内容是一个大字符串),再对这个字符串做转换处理,最终转换为js对象
转换逻辑:根据换行符来拆分成数组(一行一个键值对),再对每一行数据根据“=”拆分为key和value,分别对应对象的属性和值。
如:
name=test
pwd=1212
=》
var prop = {name : 'test', pwd : '1212'};
解决方案二:
访问JSP时,window.onload的时候就通过ajax方式访问servlet。在servlet读取prop的内容。用一个类(javabean)来封装key和value。然后JSONObject这个类把javabean变成json字符串,响应jsp。jsp通过ajax获取到json字符串(看情况使用eval函数)或者直接是json对象。然后就可以通过点来调用。
例如
在ajax的回调函数里面
var obj_div = document.getElementById("div-1");
obj_div.innerHTML = data.username; // data就是返回json对象。如果只是字符串的话要用eval方法变成json对象。
解决方案三:
String value = PropertiesManager.getProperty("key");
解决方案四:
问题解决了,可能是我表达的不太清楚,在spring中配置了这个文件的bean,然后有一个这个实体类的,其中的一个map存的就是这个key-value对
然后重写了web.xml中的监听器,把这个实体类放到了servletContext中,既然放到了全局的上下文中,当然就能取得到值了