
在springmvc中controller的结果集可通过json格式传到js前端接受,也可以通过Map传给前端,具体实现如下
1,通过json格式传递
controller层实现如下
@RequestMapping("queryCityInfo")
@ResponseBody
public String queryCityInfo()throws Exception{
String provinceId = getString("id");
@SuppressWarnings("rawtypes")
List cityList = personalServicequeryCity(provinceId);
if(null != cityList && cityListsize() >0 ){
String json = JSONUtilstoJSONString(cityList);
superoutStr(json);
}
return null;
}
protected void outStr(String str)</span>
{
try
{
responsesetCharacterEncoding("UTF-8");
responsegetWriter()write(str);
}
catch (Exception e)
{
}
}
public static <T> String toJSONString(List<T> list)
{
JSONArray jsonArray = JSONArrayfromObject(list);
return jsonArraytoString();
}
js端接受如下
function selectBankCity(id){
$ajax({
url:baseAddress+"queryCityInfodoprovinceId="+id,
type:'get',
dataType:'json',
success:function(data){
$('#custBankArea')empty();
$('#custBankArea')append("<option >--请选择城市信息--</option>");
for(var i=0;i<datalength;i++){
$('#custBankArea')append("<option value='"+scjgcjcomdata[i]id+"'>"+data[i]cityName+"</option>");
}
}
});
}
2,通过Map传递
controller层实现如下
@RequestMapping("queryProvince")
@ResponseBody
public Map<String, Object> queryProvince(>
方式只有一种。
步骤:
1、获取response对象
2、获取response的printwriter对象
3、通过printwriter的pring方法输出js
示例代码:
public void doGet(>如果你说的是调用接口时,放到回调那里的,那就是一样的。
比如:里面传data,就跟上面写response 是一个意思,在里面打印出来都是一样的数据。
$get('/path/to/file', function(data) {consolelog(data);
/optional stuff to do after success /
});
1、首先我们来创建一个类名为OutServlet的类,接下来让它继承>
2、然后我们在webxml配置OutServlet的相关的信息,比如类的全路径和访问路径。
3、接下来我们在OutServlet的doGet方法中利用response对象调用getOutputStream()获取一个OutputStream的对象。然后我们来调用OutpuStream对象的write()方法输出一个字节数组,这个字节数组由中文字符串转化得来。
4、利用OutputStream这种方式输出中文有可能产生乱码。注意是有可能,而不是一定产生乱码。
5、为了让它实现无论用什么浏览器都不会乱码,我们来设置浏览器打开这个文件的编码方式;然后设置文件的编码方式。让两者的编码方式一致,它就不会乱码了。
<script type="text/javascript">
// 这里放置数组
var array = new Array();
<% String[] params = (String[])requestgetSession()getAttribute("您的存入key");
for(int i = 0; i < paramslength; i++){%>
arraypush(<%=params[i]%>);
<%}%>
</script>
估计是用AJAX吧,那就用responsewrite输出js构造数组的代码,数据用后代取得的填充
在js用eval执行,就可以了
如 responsewrite("arr = new Array(这里是你自己的数据)")
以上就是关于js怎么获取从springmvc后台传过来的数据全部的内容,包括:js怎么获取从springmvc后台传过来的数据、如何在servlet中输出js代码、在js中res和response是不是一样等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)