前端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)); } } } }