二 配置數據字典&異步查詢客戶
阿新 • • 發佈:2019-02-12
util back all size ima 通過 需要 throw 技術分享
數據字典:
- 字典表和客戶表的關系
- 配置字典表
- 配置客戶表
- Spring管理映射文件
1 字典表和客戶表的關系
2 配置字典表
3 配置客戶表
4 Spring管理映射文件
異步查詢客戶:
頁面加載的時候,callback函數將對應信息字典表id,通過callback回調函數傳給Action,action調用業務層,業務層調用DAO從數據庫裏面將需要的數據,再由Action傳給頁面。
- 前端頁面
- Action
- Service
- DAO
1 前端交互:
2 Action:
package com.mycrm.web.action;import java.io.IOException; import java.util.List; import org.apache.logging.log4j.core.config.json.JsonConfiguration; import org.apache.struts2.ServletActionContext; import com.mycrm.domain.BaseDict; import com.mycrm.service.BaseDictService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven;import net.sf.json.JSONArray; import net.sf.json.JsonConfig; /* * 字典的Action */ public class BaseDictAction extends ActionSupport implements ModelDriven<BaseDict> { // 模型驅動 private BaseDict baseDict = new BaseDict(); @Override public BaseDict getModel() { return baseDict; }//註入Service private BaseDictService baseDictService; public void setBaseDictService(BaseDictService baseDictService) { this.baseDictService = baseDictService; } //根據類型名稱查詢字典的方法,findByTypeCode public String findByTypeCode() throws IOException{ System.out.println("BasedictAction中的findByTypeCode方法執行了"); List<BaseDict> list = baseDictService.findByTypeCode(baseDict.getDict_type_code()); //將list轉成JSON,引入包 jsonlib/fastjson /** * JSONConfig:轉JSON的配置對象 * JSONArray: 將數組和list集合轉成JSON * JSONObject: 將對象和MAP集合轉成JSON */ //jsonConfig.setExcludes去掉不必要的字段 JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String[]{"dict_sort","dict_enable","dict_memo"}); JSONArray jsonArray = JSONArray.fromObject(list,jsonConfig); //將JSON打印到頁面: ServletActionContext.getResponse().setContentType("text/html;charset=utf-8"); ServletActionContext.getResponse().getWriter().println(jsonArray.toString()); return NONE; } }
3 Service:
package com.mycrm.service.impl; import java.util.List; import com.mycrm.dao.BaseDictDao; import com.mycrm.domain.BaseDict; import com.mycrm.service.BaseDictService; /** * * 字典業務層的實現類 */ public class BaseDictServiceImpl implements BaseDictService { // 註入Dao private BaseDictDao baseDictDao; public void setBaseDictDao(BaseDictDao baseDictDao) { this.baseDictDao = baseDictDao; } @Override public List<BaseDict> findByTypeCode(String dict_type_code) { return baseDictDao.findByTypeCode(dict_type_code) ; } }
4 DAO:
package com.mycrm.dao.impl; import java.util.List; import org.springframework.orm.hibernate5.support.HibernateDaoSupport; import com.mycrm.dao.BaseDictDao; import com.mycrm.domain.BaseDict; public class BaseDictDaoImpl extends HibernateDaoSupport implements BaseDictDao { @Override public List<BaseDict> findByTypeCode(String dict_type_code) { return (List<BaseDict>) this.getHibernateTemplate().find("from BaseDict where dict_type_code=?", dict_type_code); } }
二 配置數據字典&異步查詢客戶