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)
}
JSTL标签库考虑不?<c:forEach items="list" var="l"><html>${i.name}</html></c:forEach>用标签直接展现。
不考虑的话可以写一个<input id="id" value="${list}" type="hidden">这个input在页面不会展现,而且后端传过来的list可以被保存在里面。需要的时候通过$("#id").val()获取到这个list集合。
直接在js代码里通过 var woshilist = new ArrayList()woshilist = "${list}".replace('[','').replace(']','').split(',')
<c:forEach var=‘list’ items=‘${list}’>//var的值随便起,起啥下面就用啥${list .id}
${list .name}
</c:forEach>
你那个<%%>中间应该是java代码javascript用<script></script>括起来