ext direct spring Simple Method

发布时间:2016-12-11 12:34:41 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"ext direct spring Simple Method",主要涉及到ext direct spring Simple Method方面的内容,对于ext direct spring Simple Method感兴趣的同学可以参考一下。

Server  [email protected][email protected] @Service public class TestAction { @ExtDirectMethod public String doEcho(String message) { return message; } @ExtDirectMethod public int anotherAction() { return 1; } } 如果方法需要访问服务器对象,如请求和响应,添加参数的方法签名。 @ExtDirectMethod public String doEcho(String message, HttpServletRequest request) { //do something with the request return message; } ExtDirectSpring支持的服务器对象参数: HttpServletResponse HttpServletRequest HttpSession Locale Principal Parameters annotated with @RequestHeader (since 1.1.0) 服务器对象参数可以添加任意顺序 @ExtDirectMethod public String doSomething(HttpServletResponse response, int fromClient1, HttpServletRequest request, int fromClient2, Locale locale, int fromClient3) { //do something here } 客户端方法看不到服务器对象参数,调用doSomething方法示例如:testAction.doSomething(1, 2, 3, callback)。 类库也支持 @[email protected] @ExtDirectMethod public Map<String, Object> aMethod(@DateTimeFormat(iso = ISO.DATE_TIME) Date aDate, @NumberFormat(style = NumberFormat.Style.PERCENT) BigDecimal percent) { ... } Client Spring bean的name是客户端action的名字。如testAction.doEcho('ping', callback)将会调用服务器端Spring bean testAction的方法doEcho。调用服务器的方法通常是异步因此需要一个回调函数,回调函数将会被调用有返回的时候。回调函数是调用服务器方法的最一个参数。如果服务器方法一个参数没有,回调函数是唯一参数。testAction.anotherAction(callback)。最后一个参数也有可能是回调函数执行的作用域,testAction.doSomething(1, 2, 3, callback, this)。 参数的顺序和个数必须跟服务器方法签名一致(服务器对象除外)。 回调函数不是必须的可以省略。 Callback function  var callback = function(result, e) { // do something with the result }; 回调函数会被调用当服务器端返回结果或抛出一个异常。一个Ext.Direct回调函数被调用,带有两个参数:     result 这个参数包含服务器方法返回的数据。     e  一个Ext.Direct.RemotingEvent (Ext JS 3) 或 Ext.direct.RemotingEvent (Ext JS 4.x and Sencha Touch 2) event对象有一些有用的属性和方法:     status true 如果方法调用成功,false如果方法调用失败     result 包含同返回结果一样数据     type rpc或exception 如果异常发生     action bean的name例如‘testAction’     method 方法的名字 (*'doEcho'*)     tid 事务id     getTransaction() 获得调用服务器方法的事务。这个对象包含一些信息,如transaction.args包含方法调用时的参数。 Events Direct Manager支持两类事件event和exception。event在调用服务器方法返回后触发。exception在发生异常时触发。可以很容易监听这些事件通过添加监听到Ext.direct.Manager。  //Ext JS 4.x and Sencha Touch 2 Ext.direct.Manager.on('event', function(e) { //do something here }); Ext.direct.Manager.on('exception', function(e) { //do something here }); Examples http://demo.rasc.ch/eds/extjs3/simple.htmlhttp://demo.rasc.ch/eds/extjs3/direct.htmlhttp://demo.rasc.ch/eds/extjs41/direct.htmlhttp://demo.rasc.ch/eds/extjs42/direct.html    

上一篇:设计模式学习--状态模式(State Pattern)
下一篇:百度贴吧爬虫

相关文章

相关评论