数据字典统一管理,动态下拉框

前端xhr  js

 

var buildTag = {



	/*

	 *构建数据字典某一项的下拉框

	 */

	getInfoTypeDatas:function(selectId,infoCode,defaultValue){

		$.get(basePath+"/tag/build!getInfoTypeDatas.action?infoCode="+infoCode,function(arg){

			for(var i=0; i<arg.length; i++){

				var selected = "";

				if(defaultValue){

					if(arg[i].id == defaultValue){

						selected = "selected";

					}

				}

				$("<option "+selected+">",{

					value:arg[i].id,

					text:arg[i].name

				}).appendTo($("#"+selectId));

			}

		},"json");

	},

	

	/*

	 *选择城市

	 */

	selectCity:function(selectId,defaultValue){

		this.getInfoTypeDatas(selectId,"city",defaultValue);

	},



	selectCompanyType:function(selectId,defaultValue){

		this.getInfoTypeDatas(selectId,"companyType",defaultValue);

	},

	selectApplicationType:function(selectId,defaultValue){

		this.getInfoTypeDatas(selectId,"applicationType",defaultValue);

	},

	/**

	 * feedback type

	 * @param selectId

	 * @param defaultValue

	 */

	selectFeedbackType:function(selectId,defaultValue){

		this.getInfoTypeDatas(selectId,"feedbacktype",defaultValue);

	}

	

	

};


后端java代码

 

action

 

import java.util.List;



import javax.annotation.Resource;



import com.google.gson.Gson;



import cn.com.qytx.cbb.domain.InfoType;

import cn.com.qytx.cbb.service.IInfoType;





public class BuildTagAction extends BaseAction {



	private String infoCode;

	

	@Resource(name="infoTypeImpl")

	private IInfoType<InfoType> infoTypeService;

	

	

	public String getInfoCode() {

		return infoCode;

	}





	public void setInfoCode(String infoCode) {

		this.infoCode = infoCode;

	}





	public String getInfoTypeDatas() throws Exception{

		List<InfoType> list = infoTypeService.findByCode(infoCode);

		if(list!=null){

			Gson gson = new Gson();

			ajax(gson.toJson(list));

		}else{

			ajax("");

		}

		return null;

	}

}


service

 

 

public List<InfoType> findByCode(String code){

		InfoType it = infoTypeDao.findByCode(code);

		Integer parentId = it.getId();

		return infoTypeDao.findSysList(parentId);

	}

 


java bean

 

public class InfoType extends BaseEntity

{

	public enum InfoCode{

		feedbacktype("feedbacktype");

		private InfoCode(String infocode){

			this.infocode = infocode;

		}

		String infocode;

		public String getInfoCode(){

			return infocode;

		}

	}



	

    /**

     * 序列号

     */

    private static final long serialVersionUID = 2669727616436832468L;

    @Expose

    private String name; // key

    private String infoCode; // 值

    private Integer recordUserId; // 记录人或最后修改人

    private Integer parentId;

    private Timestamp createDate;

    private Timestamp modifyDate;



    public Integer getParentId() {

		return parentId;

	}



	public void setParentId(Integer parentId) {

		this.parentId = parentId;

	}



	public Timestamp getCreateDate() {

		return createDate;

	}



	public void setCreateDate(Timestamp createDate) {

		this.createDate = createDate;

	}



	public Timestamp getModifyDate() {

		return modifyDate;

	}



	public void setModifyDate(Timestamp modifyDate) {

		this.modifyDate = modifyDate;

	}



	public String getName()

    {

        return this.name;

    }



    public void setName(String name)

    {

        this.name = name;

    }





    public Integer getRecordUserId()

    {

        return recordUserId;

    }



    public void setRecordUserId(Integer recordUserId)

    {

        this.recordUserId = recordUserId;

    }



	public String getInfoCode() {

		return infoCode;

	}



	public void setInfoCode(String infoCode) {

		this.infoCode = infoCode;

	}



	

}

 


util

 

package cn.com.qytx.ayzw.util;



import java.util.HashMap;

import java.util.Map;



import cn.com.qytx.cbb.domain.InfoType;



/**

 * 功能:字典表工具类,单例模式

 * 版本: 1.0

 * 开发人员:贾永强

 * 创建日期: 下午4:40:07 

 * 修改日期:下午4:40:07 

 * 修改列表:

 */

public class InfoTypeUtil {

	

	/*******单例模式开始********/

	private static InfoTypeUtil instance = null;

	private InfoTypeUtil(){

		

	}

	public static synchronized InfoTypeUtil getInstance(){

		if(instance == null){

			instance = new InfoTypeUtil();

		}

		return instance;

	}

	

	/*******单例模式结束********/

	

	private static Map<Integer,InfoType> container = new HashMap<Integer,InfoType>();

	

	/**

	 * 功能:

	 * @param

	 * @return

	 * @throws   

	 */

	public void putToContainer(Integer id,InfoType infoType){

		this.container.put(id, infoType);

	}

	

	public static InfoType getInfoTypeById(int infoTypeId){

		return container.get(infoTypeId);

	}

	

	

}

 

package cn.com.qytx.ayzw.servlet;



import java.util.List;



import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;



import cn.com.qytx.ayzw.util.InfoTypeUtil;

import cn.com.qytx.cbb.domain.InfoType;

import cn.com.qytx.cbb.service.IInfoType;

import cn.com.qytx.cbb.util.spring.SpringUtil;



public class InitInfoTypeServlet extends HttpServlet {



	@Override

	public void init() throws ServletException {

		// TODO Auto-generated method stub

		super.init();

		IInfoType<InfoType> infoTypeService = (IInfoType<InfoType>) SpringUtil.getBean("infoTypeImpl");

		List<InfoType> list = infoTypeService.findAll();

		if(list!=null){

			for(int i=0; i<list.size(); i++){

				InfoTypeUtil.getInstance().putToContainer(list.get(i).getId(), list.get(i));

			}

		}

	}



}


 



你可能感兴趣的:(数据字典)