2 qq 32224861 qq_32224861 于 2016.04.11 15:10 提问

问一个我自己都觉得低端的问题,有关js页面的,忘记怎么个原理了

就是我在配置文件properties中定义了多个不同 key-value,然后页面上就用到了这个变量的key取到了value的值,搞不明白是怎么回事了,各位,帮解答一下吧

4个回答

xpxpxpx
xpxpxpx   2016.04.11 15:43

你是用了插件吧。
js通过ajax读取properties文件文本内容,回调函数中接收文件内容(即整个文件内容是一个大字符串),再对这个字符串做转换处理,最终转换为js对象
转换逻辑:根据换行符来拆分成数组(一行一个键值对),再对每一行数据根据“=”拆分为key和value,分别对应对象的属性和值。

如:
name=test
pwd=1212
=》
var prop = {name : 'test', pwd : '1212'};

xpxpxpx
xpxpxpx 回复June君: 哦,其实就是这样了。 只是spring配置的话实际也是java程序获取properties文件内容转换,放入hashtable或者bean对象,然后传输到页面。其实你可以看看源码的
一年多之前 回复
qq_32224861
qq_32224861 但还是觉得没这样简单,不知道哪里缺了什么
一年多之前 回复
qq_32224861
qq_32224861 只是在spring的配置文件里面配置了这个文件的bean
一年多之前 回复
ChaoBaby94
ChaoBaby94   2016.04.11 17:04

访问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对象。

qq_18332445
qq_18332445   2016.04.11 15:32

String value = PropertiesManager.getProperty("key");

qq_32224861
qq_32224861 不是这样用的
一年多之前 回复
qq_32224861
qq_32224861   2016.04.11 18:20

问题解决了,可能是我表达的不太清楚,在spring中配置了这个文件的bean,然后有一个这个实体类的,其中的一个map存的就是这个key-value对
然后重写了web.xml中的监听器,把这个实体类放到了servletContext中,既然放到了全局的上下文中,当然就能取得到值了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!