一个不用写javascript的ext综合应用 ~

相信很多人虽然喜欢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""登陆系统"265140);
        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);
    }

}

 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2108600

posted @ 2008-02-22 14:59  阳光囧男  阅读(790)  评论(0编辑  收藏  举报