echo2 学习笔记 总结

本文深入解析了Echo2框架的关键组成部分,包括WebContainerServlet的作用、ApplicationInstance的生命周期管理、Window及其内容面板的使用方法,以及如何自定义组件和实现客户端验证。
echo2 advanced -1

1 WebContainerServlet是整个框架的入口,负责管理http连接,并为每个新的用户生成并分配一个新的ApplicationInstance;

WebContainerServlet继承自HttpServlet,负责处理客户请求,包括渲染html页面,处理xml异步服务等(ajax).

 

2 ApplicationInstance代表每个用户实例的状态,它在用户连接后由WebContainerServlet生成,并保存在servlet容器的session,因此它的生存期直到用户退出或session过期为止,所以可利用它来保存用户登录状态. ApplicationInstance为抽象类,需要提供自己的实现,且必须实现public Window init(),返回一个Window.

 

3 Window继承自Component,但是只能放置一个ContentPane对象

 

4 ContentPane,WindowPaneSplitPane都是继承自Component,且实现了PanePaneContainer接口.

Pane组件的父组件只能是PaneWindow.

ContentPane只能有一个子组件,一般为PaneColumn,Row,Grid等容器型组件,当然也可以是任何组件.但是ContentPane可以含有多个floating window components,WindowPane.

 

5 如何编写自己的Echo2组件,例如MyTextField

       1)新建MyTextField,继承自TextField

2)新建MyTextFieldPeer,继承TextComponentPeer 且实现DomUpdateSupport接口,并重写renderHtml方法,可以拷贝后修改.

       3)注册组件,META-INF/nextapp/echo2/下新建SynchronizePeerBindings.properties文件,

       并加上一行:

componentsPackage.MyTextField  peersPackage.MyTextFieldPeer

 

6 如何在Echo2中通过内置javascript代码实现客户端验证及格式化.

       :增加一个MyTextField组件,验证用户输入不得为空.

1)      首先增加ComponentPeer,并注册,5

2)增加自己的JavaScriptService   文件,MyTextField.js,并在MyTextFieldPeer类中注册相应的JavaScriptService服务.

3)验证的javascript代码按一定格式写在MyTextField.js.

4)Peer类和js之间可以传递element的属性.

 

7 如何设置全局快捷键。

   可利用echopointng包中的KeyStrokeListener类,加入action

   例,见PatternBTabbedPanetab的切换键(Alt+PageDown(PageUp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值