相信很多人雖然喜歡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框架 閱讀(3959)
評論(10) 編輯 收藏