zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    Redis面试题
    spring boot错误: 找不到或无法加载主类
    JAVA的高并发编程
    Redis多机多节点集群实验
    Redis单机多节点集群实验
    Redis集群概述
    Redis的持久化之AOF方式
    Redis的持久化之RDB方式
    Redis持久化介绍
    Redis Keys的通用操作
  • 原文地址:https://www.cnblogs.com/zrui-xyu/p/4627002.html
Copyright © 2011-2022 走看看