论坛首页 AJAX版 EXT

如何在Extjs中直接调用后台业务逻辑方法?

浏览 1442 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-04-09
以前的做法是直接将请求转发到struts的Action中调用业务逻辑方法,但发现Extjs跟struts结合不是很好,特别是mapping.findForward("success")就不能转发了,发挥不出struts控制层的优势,感觉struts是多余的一层。

Ext.Ajax.request({
	url:'/doc.do?method=deleteDocTag',
	success:function(){globalStore.load();},
	params:{tagId:u,docId:docId}
  });  


于是就想在Extjs中直接调用后台业务逻辑方法,但不知道这样如何实现,如何在url中写调用业务逻辑方法呢,盼哪位高手给小弟解惑,深表感谢!
   
最后更新时间:2008-04-09
用DWR吧
   
0 请登录后投票
最后更新时间:2008-04-10
不是有Updater 类么?这个应该可以!
   
0 请登录后投票
最后更新时间:2008-04-11
用dwr,直接调用后台的业务逻辑


Ext.BLANK_IMAGE_URL = 'ext-2.0.2/resources/images/default/s.gif';


Ext.namespace('spsoft');
spsoft.index = function() {
     return {init:function(){
/*  用户校验成功之后的动作  */
    var gotoUrl = function(){
        document.location="mainframeNormal.jsp";
    };
  
/*  创建登录是需要使用的表单  */
    var form = new Ext.form.FormPanel({
        defaultType: 'textfield',
        labelAlign: 'right',
        title:'登陆系统',
        width:300,
        height:150,
        iconCls: 'tabs_login',
        frame: true,
        waitMsgTarget: true,
       
        items: [{
            fieldLabel: '用户名',
            name:"username",
            id:"username",
            width: 150,
            focus:true,
            allowBlank:false
        },{
            fieldLabel: '密码',
            inputType :'password',
            id:"password",
            width: 150,
            name:"password"
        }],
      
        buttons: [{
            text: '登陆',
            iconCls: 'tabs_login',
            handler : function() {               
if (form.form.isValid()) {
form.form.submit( {
url : 'Login.action',
success : function(from, action) {
Ext.example.msg('登陆成功', '登陆成功!');
gotoUrl();
},
failure : function(form, action) {
Ext.example.msg('登陆失败', '登陆失败!');
},
waitMsg : '正在验证用户名和密码,稍后...'
});
} else {
Ext.Msg.alert('信息', '请填写完成再提交!');
}
}
        },{
            text: 'Ajax登陆',
            iconCls: 'tabs_login',
            handler: function(){               
if (form.form.isValid()) {
LoginAjax.login(form.getComponent("username").getValue(),form.getComponent("password").getValue(),{  
  callback : function(returnValue) {  
    if(returnValue=='success'){
Ext.example.msg('登陆成功', '登陆成功!');
gotoUrl();    
    }else{
Ext.example.msg('登陆失败', '登陆失败!');    
    }  
  }
  });
// form.form.submit( {
// url : 'Login.action',
// success : function(from, action) {
// Ext.example.msg('登陆成功', '登陆成功!');
// gotoUrl();
// },
// failure : function(form, action) {
// Ext.example.msg('登陆失败', '登陆失败!');
// },
// waitMsg : '正在验证用户名和密码,稍后...'
// });
} else {
Ext.Msg.alert('信息', '请填写完成再提交!');
}
}
        },{
            text: '取消',
            iconCls: 'tabs_sysinfor',
            handler: function(){
form.form.reset();
            }
        }]
    });
   
    form.render("LoginInfor");
    form.getEl().center();

    };
    }  
    ()

    
   
0 请登录后投票
最后更新时间:2008-04-17
看这,extjs和struts、json的整合:
http://blog.csdn.net/xujiaqiang/archive/2007/07/03/1677366.aspx
   
0 请登录后投票
最后更新时间:2008-04-17
别的也不多说,看看gwt-ext吧,如何完美的结合ext+gwt
   
0 请登录后投票
最后更新时间:2008-07-20
用dwr啊
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐