读书人

求解:ssh + ajax 无刷新去取数据库里

发布时间: 2012-05-10 16:02:39 作者: rapoo

求解:ssh + ajax 无刷新去取数据库里的数据,但页面拿不到值
在action中集合已经有值 用<s:debug></s:debug>标签可以看到值栈 和request里面确都没有值,下面贴代码求解:

首先是展示的页面:

HTML code
<s:iterator value="#request.list" var="user">    <tr>        <td><s:property value="#user.id"/></td>        <td><s:property value="#user.name"/></td>        <td><s:property value="#user.address"/></td>        <td><a href="#">删除</a> </td>    </tr>


下面是js访问action
JScript code
//加载所有按钮$("#lookAll").click(function() {   $.post("user!loadAll.action",null,function(res){        $("#allRes").show();    });});


接下来是action
Java code
private List<User> list;public void loadAll() {    list = userService.loadAll();    System.out.println(list.size());//已经确定list有值    getRequest().setAttribute("list", list);//但在值栈和request中确没有值}//getter... setter...public List<User> getList() {    return list;}    public void setList(List<User> list) {    this.list = list;}


[解决办法]
request只在拿到值,你用ajax是不能改他的在的值的,更何你面加完已成了,即使你再控制示,值也是已定了,你那按去set它的值,不用再使用struts2和request了!
[解决办法]
ajax 是异步的 你只能取到数据之后,然后通过DOM操作一个一个的将取到的值set进去
[解决办法]
哦哦,应该这样说,div本来是空的,用ajax刷新下,将取到的数据放到div里面。第一次的加载页面的话可以在页面加载完成后调用一次这个ajax方法,div就有数据了。

读书人网 >J2EE开发

热点推荐