js如何接收处理后台传来的list

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何接收处理后台传来的list相关的知识,希望对你有一定的参考价值。

list<String>从后台传来,如何在js里接收并处理为数组,页面只能用el表达式接收数据

List数据,从java后台传至js中接收的方法:

    新建bean类

public class Test

private int Id;


public int getId()

return Id;


public void setId(int id)

Id = id;

2.再建返回List<Bean类>的java方法

public List<Test> list()

Test t=new Test();

t.setId(1);

List<Test> list = new ArrayList<Test>();

list.add(t);     

return list;

3.配置web.xml——补加导入dwr配置的代码

<servlet> 

<servlet-name>dwr-invoker</servlet-name>  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>true</param-value>

</init-param>

</servlet> 

<servlet-mapping>    

<servlet-name>dwr-invoker</servlet-name>

<url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

4.配置dwr.xml——creator+concert

<allow>

<create creator="new" javascript="service">

<param name="class" value="com.telek.dwr.Service" />

</create>

<convert converter="bean" match="com.telek.dwr.Test">

<param name="include" value="id"/>

</convert>

</allow>

5.js文件中正确接收

function callBackHello(data)

alert(data[0].id);

function testList()

service.list(callBackHello);

参考技术A 事情:从java后台返回List类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案最好的当然是把List集合转成json格式传到界面上。这样js里面操作也简单,页面也没有影响。解决:将List转成json,传到界面。js中使用vararr=eval(‘$list');将list转成js数组。我的代码:复制代码代码如下:varkeyList=eval('$keysList');varvalues=$("#paramsValues").val();varnoSet=[];for(vari=0;i 参考技术B 事情:

从java后台返回List<String>类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案...最好的当然是把List集合转成json格式传到界面上。这样js里面操作也简单,页面也没有影响。

解决:

将List<String> 转成json,传到界面。js中使用var arr = eval(‘$list');将list转成js数组。

我的代码:

复制代码代码如下:

var keyList = eval('$keysList');
var values = $("#paramsValues").val();

var noSet = [];

for(var i=0;i<keyList.length;i++)
if(values.indexOf(keyList[i])==-1)
noSet.push(keyList[i]);

参考技术C 将List<String> 转成json,传到界面。js中使用var arr = eval(‘$list');将list转成js数组。

我的代码:

复制代码代码如下:

var keyList = eval('$keysList');
var values = $("#paramsValues").val();

var noSet = [];

for(var i=0;i<keyList.length;i++)
if(values.indexOf(keyList[i])==-1)
noSet.push(keyList[i]);

参考技术D java代码:
JSONObject.valueToString(list) 传到页面
js代码
var haha = eval('$list ');

如何在js里面处理后台传来的json,并显示在页面上

参考技术A 使用jQuery就可以了
返回值:String jQuery.parseJSON(json)

概述

接受一个JSON字符串,返回解析后的对象。

传入一个畸形的JSON字符串会抛出一个异常。比如下面的都是畸形的JSON字符串:

test: 1 ( test 没有包围双引号)
'test': 1 (使用了单引号而不是双引号)

另外,如果你什么都不传入,或者一个空字符串、null或undefined,parseJSON都会返回 null 。追问

如果不用JQuery呢?

追答

var data = eval('(' + data + ')'); // change the JSON string to javascript object

本回答被提问者采纳

以上是关于js如何接收处理后台传来的list的主要内容,如果未能解决你的问题,请参考以下文章

jsp中js里怎么接收后台传来的值

AJAX如何解析后台传来的json数据?

springmvc接收前台(如ajax)传来的数组list,set等图文详解

最佳方案:springmvc接收前台(如ajax)传来的数组list,set等集合图文详解

javascript 如何接收后台 java list

php 怎么接收前端传来的json数据