• 9、客户模块之按条件查询(异步查询客户级别后台代码编写)


    1. 使用异步的方式加载客户级别和客户的来源
            * 前端使用JQuery的ajax技术
            * 后端使用fastjson的jar包
                * 导入fastjson的开发jar包fastjson-1.2.8.jar
                * String s = JSON.toJSONString(集合)
                * String s = JSON.toJSONString(对象)
            
            * 如果List集合中存入相同引用的对象
                * fastjson默认的情况下是进行循环检测的,去除掉死循环调用的方式
                * 可以使用JSON.toJSONString(p,SerializerFeature.DisableCircularReferenceDetect) 去除循环检测,但是就会出现死循环的效果
                * 最后可以使用注解:@JSONField(serialize=false)对指定的属性不转换成json

    /crm/src/com/louis/web/action/DictAction.java

    /**
     * 字典控制器
     * @author Administrator
     */
    public class DictAction extends ActionSupport implements ModelDriven<Dict>{
    
        private static final long serialVersionUID = -82264029685635742L;
        
        private Dict dict = new Dict();
    
        public Dict getModel() {
            return dict;
        }
    }

    /crm/src/applicationContext.xml

        <!-- 字典 -->
        <bean id="dictAction" class="com.louis.web.action.DictAction" scope="prototype">
            <property name="dictService" ref="dictService"/>
        </bean>
        
        <bean id="dictService" class="com.louis.service.DictServiceImpl">
            <property name="dictDao" ref="dictDao"/>
        </bean>
        
        <bean id="dictDao" class="com.louis.dao.DictDaoImpl">
            <property name="sessionFactory" ref="sessionFactory"/>
        </bean>

    /crm/src/struts.xml

    <!-- 字典模块 -->
            <action name="dict_*" class="dictAction" method="{1}"></action>

    /crm/src/com/louis/web/action/DictAction.java

    package com.louis.web.action;
    
    import java.util.List;
    
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.struts2.ServletActionContext;
    
    import com.louis.domain.Dict;
    import com.louis.service.DictService;
    import com.louis.utils.FastJsonUtil;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;
    
    /**
     * 字典控制器
     * @author Administrator
     */
    public class DictAction extends ActionSupport implements ModelDriven<Dict>{
    
        private static final long serialVersionUID = -82264029685635742L;
        
        private Dict dict = new Dict();
    
        public Dict getModel() {
            return dict;
        }
    
        
        private DictService dictService;
        public void setDictService(DictService dictService) {
            this.dictService = dictService;
        }
    
        
        /**
         * 通过字段的type_code值,查询客户级别或者客户的来源
         * @return
         */
        public String findByCode(){
            // 调用业务层
            List<Dict> list = dictService.findByCode(dict.getDict_type_code());
            // List<Dict> list = dictService.findByCode("006");
            
            // 使用fastjson,把list转换成json字符串
            String jsonString = FastJsonUtil.toJSONString(list);
            // 把json字符串写到浏览器
            HttpServletResponse response = ServletActionContext.getResponse();
            // 输出
            FastJsonUtil.write_json(response, jsonString);
            
            return NONE;
        }
    }

    /crm/src/com/louis/service/DictServiceImpl.java

    package com.louis.service;
    
    import java.util.List;
    
    import org.springframework.transaction.annotation.Transactional;
    
    import com.louis.dao.DictDao;
    import com.louis.domain.Dict;
    
    /**
     * 字典
     * @author Administrator
     */
    @Transactional
    public class DictServiceImpl implements DictService {
        
        private DictDao dictDao;
        public void setDictDao(DictDao dictDao) {
            this.dictDao = dictDao;
        }
        
        /**
         * 通过客户类别编码查询字段
         */
        public List<Dict> findByCode(String dict_type_code) {
            return dictDao.findByCode(dict_type_code);
        }
        
    
    }

    /crm/src/com/louis/dao/DictDaoImpl.java

    package com.louis.dao;
    
    import java.util.List;
    
    import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
    
    import com.louis.domain.Dict;
    
    /**
     * 持久层
     * @author Administrator
     */
    public class DictDaoImpl extends HibernateDaoSupport implements DictDao {
        
        /**
         * 通过客户类别编码查询字段
         */
        public List<Dict> findByCode(String dict_type_code) {
            return (List<Dict>) this.getHibernateTemplate().find("from Dict where dict_type_code = ?", dict_type_code);
        }
    
    }

    测试

  • 相关阅读:
    java代理模式 (转)
    android平台中编写jni模块的方法(1)
    android平台中编写jni模块的方法(2)
    Android AIDL——实现机制浅析
    android平台中编写jni模块的方法(3)
    Android AIDL使用详解
    android Launcher——拖放功能深入研究
    android 布局长度单位深入研究
    android Launcher——数据加载与变更
    PHP安装
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7764777.html
Copyright © 2020-2023  润新知