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);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-14
事情:从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
第2个回答  推荐于2017-09-15
事情:

从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]);
}
}本回答被网友采纳
第3个回答  2017-09-14
将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]);
}
}
第4个回答  2017-09-14
java代码:
JSONObject.valueToString(list) 传到页面
js代码
var haha = eval('${list }');
相似回答