sevlet传过来的List类型,如何通过js取出来?

frank1197 2010-10-27 03:18:16
如题。。
想把List<Bean>的数据结构,转换成js的array类型。。关键是怎么把List<Bean>给取出来。。
...全文
1499 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
a605501800 2010-10-27
  • 打赏
  • 举报
回复
用Struts2标签遍历就可以了啊……在后台存入值栈,前台就可以遍历到了
magicluo 2010-10-27
  • 打赏
  • 举报
回复
先将数据转换为json格式

然后js读取即可
hanyue198528 2010-10-27
  • 打赏
  • 举报
回复
或者用jquery
看文档 解析方法有几种
hanyue198528 2010-10-27
  • 打赏
  • 举报
回复
用strut标签循环
脚本也太麻烦了吧
遍历对象集合,有好几个标签呢,这是我项目里的分页
我只留了小部分pageBank.objPageList是对象的集合
<s:iterator value="pageBank.objPageList" status="st">
<tr>
<td><input name="nids" type="checkbox" value="${id }"/></td>这里是对象的属性
<td><s:property value="#st.index+1"/></td>这里是序号
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${newsDate }"/></td>
</tr>
</s:iterator>
后面注入了,页面就可以取值
frank1197 2010-10-27
  • 打赏
  • 举报
回复
已解决
<js>

var p = [];

List<bean> list = (List<bean>)request.getAttribute("XX");
<%for(int i = 0 ; i < list,size();i++)
{%>
p[<%=i%>] = new Array("<%=bean.getXX()>","<%=bean.getXX()>");
<%}%>

</js>
宁波朱超 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 frank1197 的回复:]
现在我用request.getAttribute能取到值,但怎么赋给js里的数组阿。。。
<js>

var p = [];

List<bean> list = (List<bean>)request.getAttribute("XX");
for(int i = 0 ; i < list,size();i++)
{
??????????
}

</js>
[/Quote]

你這樣寫不報 500錯誤么 ?
logqq 2010-10-27
  • 打赏
  • 举报
回复
楼主建议你用DWR,这东西蛮好用的!
frank1197 2010-10-27
  • 打赏
  • 举报
回复
如果是.jsp,可以直接在js里引用 <- 这句话是啥意思?
frank1197 2010-10-27
  • 打赏
  • 举报
回复
现在我用request.getAttribute能取到值,但怎么赋给js里的数组阿。。。
<js>

var p = [];

List<bean> list = (List<bean>)request.getAttribute("XX");
for(int i = 0 ; i < list,size();i++)
{
??????????
}

</js>
focusforce 2010-10-27
  • 打赏
  • 举报
回复
如果是.jsp,可以直接在js里引用
如果是.xhtml,可以用jstl。
宁波朱超 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 frank1197 的回复:]
to:zhuchao_ko
没用到AJAX。。

to:xiaozejun
最开始,我就把list放到一个html:hidden项里了,但javascript解析出来的是一堆内存地址。。
[/Quote]

不用AJAX的話 我也不知道 如何 JS 調到 后臺 SERVLET里得到的東西了。

宁波朱超 2010-10-27
  • 打赏
  • 举报
回复

1.JSP

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body onload="a()">
<div id="ajax"></div>
<script>
function a(){
var url="2.jsp";
var xmlHttpRequest=new ActiveXObject("microsoft.xmlhttp");
xmlHttpRequest.open("post",url,true);
xmlHttpRequest.send(null);
xmlHttpRequest.onreadystatechange=function(){
if(xmlHttpRequest.readystate==4 && xmlHttpRequest.status==200){
document.getElementById("ajax").innerHTML=xmlHttpRequest.responseText;
}
}
}
</script>
</body>
</html>


2.JSP

<%
java.util.List list = new java.util.ArrayList();
for(int i=0;i<10;i++){
com.User user=new com.User();
user.setUserName("name"+i);
user.setPassword("password"+i);
list.add(user);
}
System.out.println(list.size());
out.println("<table width='800' border='1'>");
for(int i=0;i<list.size();i++){
com.User user=(com.User)list.get(i);
out.println("<tr><td>"+user.getUserName()+"</td><td>"+user.getPassword()+"</td></tr>");
}
out.println("</table>");
%>






frank1197 2010-10-27
  • 打赏
  • 举报
回复
to:zhuchao_ko
没用到AJAX。。

to:xiaozejun
最开始,我就把list放到一个html:hidden项里了,但javascript解析出来的是一堆内存地址。。
xiaozejun 2010-10-27
  • 打赏
  • 举报
回复
很简单啊 那个javascript里面能够解析 struts2取值标签
宁波朱超 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 closewbq 的回复:]
js无法解析list的。你可以首先将List<Bean>转化成json字符串。然后js解析
[/Quote]

可以的。

AJAX 到后臺 一股腦 連接成 字符串 OUT.PRINTLN 回調到頁面上

frank1197 2010-10-27
  • 打赏
  • 举报
回复
对,通过request能取出来。。现在就是往里放的问题了。。
孤独剑客 2010-10-27
  • 打赏
  • 举报
回复
或者用el表达式就行, 很简单, 你是放到request里面吗?
woainiyibangcui 2010-10-27
  • 打赏
  • 举报
回复
要么json 要么xml
回答完毕
孤独剑客 2010-10-27
  • 打赏
  • 举报
回复
<jsp:getProperty property="" name=""/>
学习Java中 2010-10-27
  • 打赏
  • 举报
回复
js可以调用jsp内的方法

<%
String 对象名1 = request.getAttribute("KEY名");
%>
<script>
function show()
{
var 对象名2 = <%=对象名1 %>;
alert(对象名2);
}
</script>
加载更多回复(2)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧