论坛首页 Web前端技术论坛

用buffalo怎么解决传递web页面多个表单的问题呢?

浏览 12769 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-07-11  
看了例子差不多都是这样子传值了。
buffalo.remoteCall("confunphone.BuildPhone",[p1,p2,p3,p4], function(reply)

但如果前台页面表单有20来个了话,这样感觉很不方便。而且[这里的排序也容易乱],不知如何解决这种问题,感觉很怪,能不能传对像给后台呢
   发表时间:2005-07-11  
摆渡人 写道
但如果前台页面表单有20来个了话

我是不是眼花了,世界上还有20来个表单的页面?
0 请登录后投票
   发表时间:2005-07-11  
wolfsquare 写道
摆渡人 写道
但如果前台页面表单有20来个了话

我是不是眼花了,世界上还有20来个表单的页面?


我是说20几个<input>之类的,不是20几个form。
0 请登录后投票
   发表时间:2005-07-12  
windyboy 写道
摆渡人 写道
wolfsquare 写道
摆渡人 写道
但如果前台页面表单有20来个了话

我是不是眼花了,世界上还有20来个表单的页面?


我是说20几个<input>之类的,不是20几个form。


有问题吗?难道input你是一个个提交的?


估计我没有说明白我的意思:

如果有20个《input》的话,那么脚本里的buffalo.remoteCall("confunphone.BuildPhone",[p1,p2,p3,p4.....p19,p20], function(reply)
这样子总觉得代码的可读性变差了,而且在JAVA对应的方法里也要这样子写。总觉得怪怪了.
不知有没有更好的解决方案
0 请登录后投票
   发表时间:2005-07-12  
我喜欢XML,可以考虑把你的这些Input组织为xml,然后通过xml绑定或者其它初始化途径初始化到Input(使用XML绑定的话也省了INPUT和XML同步的问题),在提交的时候只提交XML就可以乐,那样总是只有一个结果。
0 请登录后投票
   发表时间:2005-07-12  
可以传对象啊
var obj = new Object();
obj["input1"] = document.getElementById("input1").value;
..........
buffalo.remoteCall("confunphone.BuildPhone",[obj], this.onReply);
0 请登录后投票
   发表时间:2005-07-12  
那在JAVA端怎么样处理呢?java方法里的参数类型应该是什么样的呢?Object?
一般我们在web通过ognl把一个对象的很多属性显示出来了,接下去如果不通过form的提交,而是用xmlhttp的话,想组装成java对象就比较麻烦了,尤其是属性比较多的话。
0 请登录后投票
   发表时间:2005-07-12  
java端map和bean都可以,bean只要属性名一样,它会自动反序列化成你要的东西
0 请登录后投票
   发表时间:2005-07-14  
在java端我用map和bean,分别试了一下,都是可以的。

感觉真棒!!好好学习!
0 请登录后投票
   发表时间:2005-07-18  
buffalo1.1中加入了客户端组装对象的支持,但是这个功能要慎用,暴露domain model毕竟看起来怪怪的。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics