小弟在做一个项目用到了DWR我在服务器端
一个Bean和一个DTO public class MyBean
{
private String s1;
private String s2; } public class MyDTO
{
private Map mapOne;
private Map mapTwo; /*这两个Map里是这样的结构:
Map
key1:ListA
List1
{MyBean1,MyBean2,MyBean3......}
List2
{MyBean5,MyBean6,MyBean7......}
List3
.
.
key2:ListB
ListN
{MyBean10,MyBean11,MyBean12.......}
ListN+1
等等 */ }
还有一个服务类public class Service
{
public void MyService(MyDTO myDTO)
{
//业务逻辑操作
}
}我想在浏览器端调用Service.MyService但是不知道应该在dwr.xml里如何配置方法以及对象的信息在网上找了很多都是方法参数或者返回值是一个List,Map里面放对象的没有一个对象里含有Map和List的所以才来请教大家希望高手们指点指点谢谢
一个Bean和一个DTO public class MyBean
{
private String s1;
private String s2; } public class MyDTO
{
private Map mapOne;
private Map mapTwo; /*这两个Map里是这样的结构:
Map
key1:ListA
List1
{MyBean1,MyBean2,MyBean3......}
List2
{MyBean5,MyBean6,MyBean7......}
List3
.
.
key2:ListB
ListN
{MyBean10,MyBean11,MyBean12.......}
ListN+1
等等 */ }
还有一个服务类public class Service
{
public void MyService(MyDTO myDTO)
{
//业务逻辑操作
}
}我想在浏览器端调用Service.MyService但是不知道应该在dwr.xml里如何配置方法以及对象的信息在网上找了很多都是方法参数或者返回值是一个List,Map里面放对象的没有一个对象里含有Map和List的所以才来请教大家希望高手们指点指点谢谢
解决方案 »
- struts2.3.4.1启动抛异常 Unable to load configuration
- jquery在什么时候会调用error这个function?
- 为什么附件加不上
- 我是用JSP做网站的,用的是spring+hibernate.想结实一下从事java工作的同行,互相研究.qq:546073527
- 初学jsp,有几点疑问
- 急!怎样在jsp中调用SetWindowPos这个api
- 有关Smartupload组件取得中文值时出现乱码问题,请各位高手指教!
- 问题无望解决了。。。。请高手来呀。 再送100分
- 还差一点就解决了!
- 我的Servlet(jdk1.1.7a)不能用中文传参数
- jsp显示sql server数据库中的内容问题?
- tomcat启动出错....
<param name="class" value="com.SysService" />
</create>
<convert converter="bean" match="com.Desk">
<param name="include" value="Id,Name,persons" />
</convert>JS
回调获得一个LIST
service.你的MyService--返回一个LIST(参数,,callback--回凋)
var dList = callback();
获得属性:
dList[i].persons,deskList[i].persons
ajax作为前后台通信的一种技术,涉及到复杂数据结构的内容传输,
我一般采用json进行编码。json是一种字符串数据,类似于xml,但比Xml简单很多,
实用json的最大优势在于:
java object <-- --> json string <-- --> Javascript object这三种格式互转都有现成的API支持。这就意味着,ajax的后台代码生成的java object数据,直接转成字符串,
通过ajax传到前台,然后在前台转成javascript对象使用,结构基本保持一致。
<dwr>
<allow>
<!--转换器,如果你的数据结构是bean里面还有bean,则所有的bean都得配置转换器-->
<convert match="com.fly.entity.SvseSatisfactionOrder" converter="bean">
<param name="include" value="svseEmployee,svseCourse,svseClass"></param>
</convert>
<!--配置dwr调用的类方法-->
<create javascript="orderService" creator="new">
<param name="class" value="com.fly.service.OrderService"></param>
<include method="getQualificationById"/>
</create>
</allow>
</dwr>
其次,在页面js调用代码如下:
orderService.getQualificationById(data,callback); //orderService是指你配置的dwr.xml文件的create javascript,callback是指的回调函数,
这里的data可以为多个,是指你要传入给service方法的参数
这是绝对不可行的~把对象拆成字符串集合要看你这个对象有多复杂要是一个对象里只有String,int,Date之类的东西拆的话还可以考虑现在的结构是 DTO里有Map,map里有List,List里还有List,然后才是Bean这要是拆了,上哪记住这些复杂的关系啊?
星星多了就是不一样说到我心坎里去了我现在也是在看JSON呵呵~在一个外国的论坛里有人回复我的问题了DWR目前的版本不支持我要的这种复杂的数据结构要么用DWR想想其他解决办法要么抛弃DWR,用其他工具/框架解决DWR官方网站上的说明也找到了,并且印证了这一说法这两天英语阅读水平也有了显著的提高啊~呵呵感谢大家我再加100分
我都是用json传数据,比你这复杂的多的都传过。json使用的时候要注意在前台js中,因为实现的代码有很多变体,我遇到过一种实现,在字符串超过几K后,转换速度奇慢。英语很重要,继续努力。