Extjs读取更改或者发送ajax返回请求的结果简单封装

Extjs的submit()方法提交的数据:如下:

this.formPanel.getForm().submit({
                url:this.saveUrl,
                method:'POST',
                params:{
                    flag:e
                },
                success:function(form,action){
                    Ext.MessageBox.alert('提示',action.result.msg,function(){
                        this.store.reload();
                        this.hide();
                    },this);
                },
                failure:function(form,action){
                    Ext.MessageBox.alert('提示',action.result.msg);
                },
                scope:this
            });

Extjs的Ajax方法提交的数据以及返回的结果如下:

Ext.MessageBox.confirm('提示','确定置顶当前制度',function(button){
            if(button=='yes'){
                Ext.Ajax.request({
                    url:this.isTopOrNotUrl,
                    method:'POST',
                    params:{
                        rulesId:record.data.rulesId
                    },
                    success:function(response,options){
                        var text = Ext.decode(response.responseText);
                        Ext.Msg.alert('提示',text.msg,function(){
                            this.store.reload();
                        },this);
                    },
                    failure:function(){
                        Ext.Msg.alert('提示','请求失败!');
                    },
                    scope:this
                });
            }
        },this);

后台修改或者删除完了,能够返回给前台Java代码后台写好的数据,因为封装了一个ExtReturn类型:如下:

package cn.edu.hbcf.common.vo;
 
/**
 * Ext Ajax 返回对象
 *
 * @author LiPenghui
 * @date 2012-02-21 19:30:00
 *
 */

public class ExtReturn {

    private boolean success; // 是否成功
    private Object msg; // 返回消息
    private Object otherObject;// 其他对象

    public ExtReturn() {

    }

    /**
     * 是否更新成功的构造方法
     *
     * @param success
     *            是否成功
     * @param msg
     *            消息
     */
    public ExtReturn(boolean success, Object msg) {
        this.success = success;
        this.msg = msg;
        this.otherObject = "";
    }

    /**
     * 是否更新成功的构造方法
     *
     * @param success
     *            是否成功
     * @param msg
     *            消息
     * @param otherObject
     *            其他对象
     */
    public ExtReturn(boolean success, Object msg, Object otherObject) {
        this.success = success;
        this.msg = msg;
        this.otherObject = otherObject;
    }

    /**
     * 异常时的构造函数
     *
     * @param errormsg
     *            异常消息
     */
    public ExtReturn(Object errormsg) {
        this.success = false;
        this.msg = false;
        this.otherObject = "";
    }

    /**
     * 判断是否成功
     *
     * @return
     */
    public boolean isSuccess() {
        return success;
    }

    /**
     * 设置返回是否成功的状态
     *
     * @param success
     */
    public void setSuccess(boolean success) {
        this.success = success;
    }

    /**
     * 设置其他对象
     *
     * @return
     */
    public Object getOtherObject() {
        return otherObject;
    }

    /**
     * 获取其他对象
     *
     * @param otherObject
     */
    public void setOtherObject(Object otherObject) {
        this.otherObject = otherObject;
    }

    /**
     * 获取返回的消息
     *
     * @return
     */
    public Object getMsg() {
        return msg;
    }

    /**
     * 设置返回的消息
     *
     * @param msg
     */
    public void setMsg(Object msg) {
        this.msg = msg;
    }
}
controller中直接调用即可,如下:

@RequestMapping(value="/isTopOrNotUrl",method=RequestMethod.POST)
    @ResponseBody
    public ExtReturn isTopOrNotUrl(HttpSession session,BaseRules baseRules){
        BaseUsers u = (BaseUsers) session.getAttribute(WebConstants.CURRENT_USER);
        baseRules.setIsTop(1);
        baseRules.setUpdateUser(u);
        baseRules.setUpdateTime(new Date());
        try {
            baseRulesService.isTopOrNotUrl(baseRules);
            return new ExtReturn(true,"置顶成功");
        } catch (Exception e) {
            e.printStackTrace();
            return new ExtReturn(false,"置顶失败");
        }
    }

mybatis中的xml如下:

<update id="isTopOrNotUrl" parameterType="cn.edu.hbcf.plugin.sms.baseRules.pojo.BaseRules">
    update SMS_BASE_RULES t
       set t.UPDATE_USER    = #{updateUser.userId,jdbcType=VARCHAR},
           t.UPDATE_TIME   = #{updateTime,jdbcType=TIMESTAMP},
           t.IS_TOP   = #{isTop,jdbcType=INTEGER}
        <where>
             t.RULES_ID = #{rulesId, jdbcType=VARCHAR}
        </where>   
</update>

很简单的封装,接收数据方便多了

posted @ 2015-07-07 14:57  花语苑  阅读(443)  评论(0编辑  收藏  举报