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

list<String>从后台传来,如何在js里接收并处理为数组,页面只能用el表达式接收数据... list<String>从后台传来,如何在js里接收并处理为数组,页面只能用el表达式接收数据 展开
 我来答
中公教育IT培训优就业
2017-09-15 · TA获得超过3826个赞
知道大有可为答主
回答量:1457
采纳率:97%
帮助的人:196万
展开全部

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

  1. 新建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);

}

匿名用户
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangjuan314
推荐于2017-09-15 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2903万
展开全部
事情:

从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]);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
折柳成萌
高粉答主

2017-09-14 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6268万
展开全部
将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]);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ca97ae0
2017-09-14 · TA获得超过201个赞
知道小有建树答主
回答量:483
采纳率:51%
帮助的人:96.3万
展开全部
java代码:
JSONObject.valueToString(list) 传到页面
js代码
var haha = eval('${list }');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式