需求:t:dictSelect 中的部分特殊值不能重复选择,其余值不受限制。
1、前端页面使用ajaxurl:
<t:dictSelect field="acctType" type="list" typeGroupCode="szc_actype" hasLabel="false" title="账套类型" datatype="*" extendJson="{ajaxurl:'swBdKdaccountController.do?checkAcctType&id=${swBdKdaccountPage.id}'}"></t:dictSelect>
2、后台处理:
/**
* 检查是否存在数据仓库
*
* @param ids
* @return
* @return
*/
@RequestMapping(params = "checkAcctType")
@ResponseBody
public Map<String, Object> checkAcctType(SwBdKdaccountEntity swBdKdaccount,HttpServletRequest request) {
String newAcctType=request.getParameter("param");
swBdKdaccount=swBdKdaccountService.get(SwBdKdaccountEntity.class,request.getParameter("id"));
Map<String,Object> element = new LinkedHashMap<String,Object>();
if("database".equals(newAcctType)) {
if(swBdKdaccount==null || !newAcctType.equals(swBdKdaccount.getAcctType())) {
List<SwBdKdaccountEntity> dws = swBdKdaccountService.findByProperty(SwBdKdaccountEntity.class, "acctType","database");
if(dws.size()>0) {
element.put("info", "已存在,不允许重复定义");
element.put("status", "n");
return element;
}
}
}
element.put("info", "校验信息通过");
element.put("status", "y");
return element;
}
返回值说明:
(1)返回Map<String,Object>类型;
(2)返回的map中需要设置status(通过:y,不通过:n)、info信息。