相信很多人虽然喜欢Ext,却不太喜欢写javascript,一个原因是javascript太灵活、太强大了,所以有时候很难掌控。因此,春节期间仿照http://wlr.easyjf.com上下载的源代码,基于EasyJWeb1.1,使用了其中Rich Component技术写了一个跟williamraym的单用户blog功能完全一样ExtJS综合应用,不同在于这里不需要manage.js、core.js、topic.js等众多的javascript代码,所有的组件及自定义控件都是在服务器用java书写。
这个应用演示了如何在用java代码写ExtJS的各种控件,如何对各种事件进行响应,如何与服务器端进行集成等。用java的好处是多方面的,有兴趣的朋友慢慢体会。
应用示例地址:http://wlr2.easyjf.com
源代码下载地址:ftp://ftp1.easyjf.com/easyjweb/demo/blog2.zip
ExtJS相关的技术资料:http://wlr.easyjf.com
在线《ExtJS2.0实用简明教程》:http://www.easyjf.com/blog/html/20080217/1179671.html
关于EasyJWeb1.1:http://www.easyjf.com/html/20080218/2424833.html http://wiki.easyjf.com/display/wiki/EasyJWeb
让我们一起携起手来,支持国产开源,从我做起。
应用截图:
(日志分类管理)
(后用户管理)
管理员登录的AdminLoginAction中的代码:
public class AdminLoginAction extends RichComponentAction ...{
public void doIndex() ...{
Window win = new Window("win1", "登陆系统", 265, 140);
win.setClosable(false);
Form f = new Form("fp");
f.setLabelAlign("right");
f.setLabelWidth(55);
f.set("bodyStyle", "padding-top:6px");
f.set("frame", true);
f.getDefaults().put("width", 158);
TextField tf1 = new TextField("userName", "帐号");
tf1.set("cls", "user");
TextField tf2 = new TextField("password", "密码");
tf2.setInputType("password");
tf2.set("cls", "key");
f.add(tf1, tf2);
win.add(f);
Function success = new ActionFunction(
"window.location.href = 'manage.ejf';");
Function failure = new ActionFunction(
"form.reset();if(action.failureType == Ext.form.Action.SERVER_INVALID)Ext.MessageBox.alert('警告',action.result.errors.msg);");
FormAction action = new FormAction("action1",
"portal.ejf?cmd=adminLogin", success, failure);
action.setWaitMsg("请稍后...");
Button b = new Button("登陆", new Function(
"var fp=Ext.getCmp('fp');fp.form.submit(action1);"));
Button b2 = new Button("重置", new Function(
"var fp=Ext.getCmp('fp');fp.form.reset();"));
win.addButtons(b, b2);
win.show();
this.addComponents(action, win);
}
}
by EasyJF开源 大峡
posted on 2008-02-22 09:54
简易java框架 阅读(3952)
评论(10) 编辑 收藏