DWR调用JAVA返回ArrayList到logiciterate迭代器处理
需积分: 9 32 浏览量
更新于2024-11-20
收藏 2KB TXT 举报
"如何将DWR调用Java类方法获取的ArrayList赋值给logiciterate迭代器"
在Web开发中,Direct Web Remoting (DWR) 是一种允许JavaScript与服务器端Java代码进行交互的技术。它使得在浏览器端可以调用Java对象的方法,获取数据并更新页面。在这个问题中,我们需要处理从DWR调用Java方法返回的ArrayList,并将其赋值给一个名为`logiciterate`的迭代器,以便在前端进行迭代操作。
首先,让我们理解一下DWR的工作原理。DWR允许你在JavaScript中创建一个函数,这个函数调用服务器上的Java方法。在给出的示例中,`getList()`函数调用了名为`DWRClass`的Java类的一个方法(假设是`getList()`),并将结果传递给`setList()`函数。
```javascript
<script>
function getList() {
return DWRClass.getList(setList);
}
function setList(date) { // date参数应该是从服务器返回的ArrayList对象
var s = document.getElementById("select");
for (var i = 0; i < date.length; i++) {
var opt = new Option(date[i].text, date[i].value);
s.options[0] = opt;
}
}
</script>
```
在这个例子中,`setList()`函数接收来自服务器的ArrayList,并将其内容添加到一个`<select>`元素中。然而,这里没有提到`logiciterate`迭代器。通常,我们使用`logiciterate`这样的迭代器是在JSP页面中,通过JavaServer Pages (JSP) 的内置标签库(如JSTL)来遍历集合。
如果你想在JSP中使用`logiciterate`迭代器,你需要将DWR返回的ArrayList传递到JSP页面。这可以通过在DWR回调函数中设置一个隐藏字段或者使用session或request属性来实现。例如:
```javascript
function callback(data) {
if (data != null) {
// 其他处理...
// 将数据存储到session或request
DWREngine.setAsync(false); // 关闭异步模式
var sessionData = DWREngine.getSessionData();
sessionData['myArrayList'] = data;
DWREngine.setSessionData(sessionData); // 设置回session
DWREngine.setAsync(true); // 重新打开异步模式
}
}
```
然后,在JSP页面中,你可以使用JSTL的`c:forEach`标签来迭代ArrayList:
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach items="${sessionScope.myArrayList}" var="item">
<!-- 在这里处理每个item -->
<div>${item.text}</div>
</c:forEach>
```
请注意,`logiciterate`并不是一个标准的JSP标签或JavaScript变量名,而是通常用于表示迭代逻辑的自定义名称。在上面的例子中,我们使用了JSTL的`c:forEach`标签来代替`logiciterate`进行迭代。
要将DWR返回的ArrayList赋值给前端的迭代器,你需要确保数据正确地从服务器传递到客户端,并在客户端使用适当的迭代机制,如JavaScript的`for`循环或JSP的`c:forEach`标签。如果`logiciterate`是你自定义的迭代器实现,那么你需要提供相应的JavaScript或JSP代码来处理这个迭代过程。
2009-09-16 上传
2015-12-19 上传
209 浏览量
2009-06-25 上传
2024-06-27 上传
2018-05-23 上传
2009-12-22 上传
2019-04-10 上传
点击了解资源详情
littleUPZNP
- 粉丝: 3
- 资源: 5
最新资源
- C语言运行环境,适合C语言初学者阅读。
- WinXp系统蓝屏解决方案
- 县级电网调度自动化系统的运用及深思
- EJB3中文教程,很有用的!
- jdbc数据库连接写法
- Oracle常用命令
- 例解C程序的内存分布
- linux sed命令讲解
- Error in initialization of native part of the Colorer library. This can be caused by absent net_sf_colorer.dll 报错
- BA5104红外遥控编码发射器
- LASER SCRIBING OF p-i-np-i-n “MICROMORPH” (a-SiHμc-SiH) TANDEM CELLS 非晶硅/微晶硅太阳能电池的激光切割
- sql server 2000软件全程视图使用教程
- jqgriddocs3.4
- Compressive Sensing
- 高速PCB设计指南之一
- Flex3 in Action(Feb 2009).pdf