后台发送的List<UserPO> 在jsp的js代码中如何接收使用?
jsp页面这样可以获取到。<%List<UserPO>po=(List<UserPO>)request.getAttribute("CGDBJ");%>但是我js中怎么取...
jsp页面这样可以获取到。
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
%>
但是我js中怎么取出来其中的值呢?
我现在用的方法是,利用隐藏域
<input type="hidden" id="CGDDetailList" name="CGDDetailList" value="<%=po%>"/>
我在js中 ,alert($('#CGDDetailList').val());出来的是地址,
现在我要在js中遍历集合,取出具体的属性,如user.name user.age 这样的。怎么写?
在线等答复, 展开
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
%>
但是我js中怎么取出来其中的值呢?
我现在用的方法是,利用隐藏域
<input type="hidden" id="CGDDetailList" name="CGDDetailList" value="<%=po%>"/>
我在js中 ,alert($('#CGDDetailList').val());出来的是地址,
现在我要在js中遍历集合,取出具体的属性,如user.name user.age 这样的。怎么写?
在线等答复, 展开
5个回答
展开全部
kevintop3的回答很不错,是基于原始的jsp的写法,不知道符合你的要求么?
我说下我的思路:
选择C标签(你项目框架不允许,就不建议了)
后台必须传递List<UserPO>么?在jsp要做复杂的逻辑么?如果是这样,建议在后台处理好,然后直接传递个如json或者字符串,用js接受,然后再js里处理,
这样的好处是:
a.降低前台jsp的压力
b.逻辑尽量放到后台,避免前台过于庞大
c.避免jsp中出现太多的java脚本(说大了,就是 易阅读性,可维护性,模型、视图分离之类)
以上供你参考,回答晚了,你已经采纳过了
展开全部
方法有很多。 最简单的,你可以使用JSTL标签。示例:
<script>
<c:forEach var="userPO" items="${po} ">
alert("${userPO.name}");
alert("${userPO.age}");
</c:forEach>
</script>
追问
c标签在js里面用,报错了,有别的方法吗?我们公司用的是自己的框架,很多东西不能用
追答
<script>
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
if(po!=null){
Iterator<UserPO> iter=po.iterator();
UserPO userPO = null;
while(iter.hasNext()){
userPO =iter.next();
%>
alert(<%=userPO.name%>);
<%
}
}
%>
<script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用js接值的目的是什么呢?
排序?还是其他逻辑?
如果是单纯赋值显示的话
和java取值一样
不用js
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
for (XXX) {
UserPO userPO = (UserPO)po.get(i);
String name = userPO.getName();
}
%>
赋值的地方就是<%=name%>就可以了
另外var变量没办法接一个list套bean的集合
你也是只能取出来一个一个赋个var变量
排序?还是其他逻辑?
如果是单纯赋值显示的话
和java取值一样
不用js
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
for (XXX) {
UserPO userPO = (UserPO)po.get(i);
String name = userPO.getName();
}
%>
赋值的地方就是<%=name%>就可以了
另外var变量没办法接一个list套bean的集合
你也是只能取出来一个一个赋个var变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用jstl的c标签确实简单 但我觉得你可能是初学 告诉你<%%>的写法
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
for(int i=0;i<po.size();i++){
UserPO e = po.get(i);
%>
<tr class="row<%=(i%2+1) %>">
<td>
<%=i+1 %>
</td>
<td>
<%=e.getName() %>
</td>
<td>
<%=e.getSalary() %>
</td>
<td>
<%=e.getAge() %>
</td>
<td>
<a href="del.do?id=<%=e.getId() %>" onclick="return confirm('确定删除吗');">删除</a> <a href="load.do?id=<%=e.getId() %>">修改</a>
</td>
</tr>
<%
}
%>
<%
List<UserPO> po=(List<UserPO>)request.getAttribute("CGDBJ");
for(int i=0;i<po.size();i++){
UserPO e = po.get(i);
%>
<tr class="row<%=(i%2+1) %>">
<td>
<%=i+1 %>
</td>
<td>
<%=e.getName() %>
</td>
<td>
<%=e.getSalary() %>
</td>
<td>
<%=e.getAge() %>
</td>
<td>
<a href="del.do?id=<%=e.getId() %>" onclick="return confirm('确定删除吗');">删除</a> <a href="load.do?id=<%=e.getId() %>">修改</a>
</td>
</tr>
<%
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jstl 在js中直接var po = "${CGDBJ}" 貌似就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询