alexyuan2004 2008-12-26 10:55
浏览 223
已采纳

Dwr2 无法读取Struts2 ModelDriven的Action返回的值

根据JavaEye好人的文章我开练了DWR访问Struts2 的Action:

刚开始学DWR2.0,想让他访问Struts2的Action,从网上找了些资料,下载了人家修改编译好的Dwr4Struts2.jar,按照配置说明写了一个例子,使用属性驱动的方法,
<br><br> function testDwr(){ <br> DWRActionUtil.execute( <br> {namespace:&#39;/jsp&#39;, <br> action:&#39;UserLogin&#39;, <br> executeResult:&#39;false&#39;}, <br> &#39;loginform&#39;, writePage);<br><br> } <br> function writemodel(data){ <br> alert(&quot;departure = &quot;+data[&quot;uname&quot;]);<br><br> }<br><br>

以上代码可以工作,能够alert出我输入的uname。

但是如果使用ModelDriven模式,我new一个Object 的user,把 uname和password 赋值给user.uname和user.password,然使用
function testModelDwr(){
DWRActionUtil.execute(
{namespace:'/jsp',
action:'UserLogin',
executeResult:'false'},
user, writePage);

}
去发送请求,通过在ModelAction 里跟踪,能正确得到我传入的user对象,下面是我的ModelAction.

public class ModelLoginAction extends ActionSupport implements ModelDriven {

private static final long serialVersionUID = 1640375596297189219L;
private User user = new User();
public String login() {
UserManager um = new UserManager();
System.out.println(user.getUname()+"="+user.getPassword());
User login = um.login(user);
if (login!=null) {
return SUCCESS;
} else {
return ERROR;
}
}

@Override
public User getModel() {
return user;
}

}

但是奇怪的是我使用 alert(data["uname"]) 弹出的是undifined。如果是alert(data)则是[object object].
请指点该怎么显示ModelDriven返回的对象数据。

  • 写回答

1条回答 默认 最新

  • weixin_42299723 2008-12-30 14:12
    关注

    你可以使用for (var i in data)
    {
    alert(data[i]);
    }

    打出data里到底有什么看看。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿