下拉选项页面 common/options.jsp

<%@pagecontentType="text/html;charset=UTF-8"language="java"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><c:forEachvar="o"items="${options}"><optionvalue="${o.optionKey}"${selected==o.optionKey?"selected":""}>${o.optionValue}</option></c:forEach>

页面调用代码

<selectname="brand_id"><c:setvalue="${pageParam.brand_id}"var="selected"/><c:importurl="/options/brand"/></select>

Controller

importorg.apache.commons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.servlet.http.HttpServletRequest;importjava.util.HashMap;importjava.util.Map;/***@authorliujun*@since2018/1/19.*@seeController*下拉选项数据列表*/@Controller@RequestMapping(value="/options")publicclassOptionsController{@AutowiredOptionServiceoptionService;@RequestMapping(value="/goodsType")publicStringgoodsTypeOtions(HttpServletRequestrequest,Modelmodel){Stringcondition=request.getParameter("condition");Stringorder=request.getParameter("order");Map<String,Object>param=newHashMap<String,Object>();if(StringUtils.isNotBlank(condition)){param.put("condition",condition);}if(StringUtils.isNotBlank(condition)){param.put("order",order);}model.addAttribute("options",this.optionService.goodsTypeOption(param));return"common/options";}@RequestMapping(value="/brand")publicStringbrandOtions(HttpServletRequestrequest,Modelmodel){Stringcondition=request.getParameter("condition");Stringorder=request.getParameter("order");Map<String,Object>param=newHashMap<String,Object>();if(StringUtils.isNotBlank(condition)){param.put("condition",condition);}if(StringUtils.isNotBlank(condition)){param.put("order",order);}model.addAttribute("options",this.optionService.brandOption(param));return"common/options";}}

service接口

importjava.util.List;importjava.util.Map;/***@authorliujun*@since2018/1/19.*/publicinterfaceOptionService{publicList<Map<String,Object>>goodsTypeOption(Map<String,Object>param);publicList<Map<String,Object>>brandOption(Map<String,Object>param);}

service实现类

importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importjavax.annotation.Resource;importjava.util.HashMap;importjava.util.List;importjava.util.Map;/***下拉选项数据列表*@authorliujun*@since2018/1/19.*@seeOptionService*@seeService**/@ServicepublicclassOptionServiceImplimplementsOptionService{@AutowiredGenericMybatisDaodao;@OverridepublicList<Map<String,Object>>goodsTypeOption(Map<String,Object>param){returnfindData(OptionQueryEnum.GOODS_TYPE_OPTION.getQuery(),param);}@OverridepublicList<Map<String,Object>>brandOption(Map<String,Object>param){returnfindData(OptionQueryEnum.BRAND_OTION.getQuery(),param);}publicList<Map<String,Object>>findData(StringquerySql,Map<String,Object>param){StringBuildersql=newStringBuilder(querySql);Map<String,Object>map=newHashMap<String,Object>();if(param!=null){if(param.get("condition")!=null){String[]conditions=param.get("condition").toString().split(",");for(Stringcondition:conditions){sql.append("and");sql.append(condition);}}if(param.get("order")!=null){sql.append("orderby");sql.append(param.get("order"));}}map.put("sqltext",sql);returnthis.dao.list(map);}enumOptionQueryEnum{GOODS_TYPE_OPTION("selectcat_idasoptionKey,cat_nameasoptionValuefromecs_goods_typewhere1=1"),BRAND_OTION("selectbrand_idasoptionKey,brand_nameasoptionValuefromecs_brandwhere1=1");privateStringquery;privateOptionQueryEnum(Stringquery){this.query=query;}publicStringgetQuery(){returnquery;}publicvoidsetQuery(Stringquery){this.query=query;}}}

mybatisDao

importjava.util.List;importjava.util.Map;/***Createdbyliujunon2018/1/10.*/publicinterfaceGenericMybatisDao{/***查询数据通用接口*@paramparam查询数据参数*@return查询结果集*/publicList<Map<String,Object>>list(Map<String,Object>param);/***保存数据通用接口*@paramparam参数*@return修改记录数量*/publicIntegerupdate(Map<String,Object>param);/***保存数据通用接口*@paramparam参数*@return修改记录数量*/publicIntegerinsert(Map<String,Object>param);/***删除数据通用接口*@paramparam参数*@return*/publicIntegerdelete(Map<String,Object>param);}

mybatis Mapper.xml

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.jeff.tianti.dao.mybatis.GenericMybatisDao"><selectid="list"statementType="PREPARED"resultType="java.util.LinkedHashMap"parameterType="map">${sqltext}</select><updateid="update"statementType="PREPARED"parameterType="map">${sqltext}</update><insertid="insert"statementType="PREPARED"parameterType="map">${sqltext}</insert><deleteid="delete"statementType="PREPARED"parameterType="map">${sqltext}</delete></mapper>

实际效果