最终效果:
案例:
前端代码:
首先引入标签库jar和html代码:
<%@page contentType=“text/html;charset=UTF-8”%>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<div class="form-group">
<label for="create-dicTypeCode" class="col-sm-2 control-label">字典类型编码<span style="font-size: 15px; color: red;">*</span></label>
<div class="col-sm-10" style="width: 300px;">
<select class="form-control" id="typeCode" name="typeCode" style="width: 200%;">
<option value=""></option>
<c:forEach items="${dtList }" var="dt">
<option value="${dt.code }">${dt.name }</option>
</c:forEach>
</select>
<span id="typeCodeErrorMsg" style="color: red;font-size: 12px;"></span>
</div>
</div>
前端完整代码:
<%@page contentType=“text/html;charset=UTF-8”%>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<div style="position: relative; left: 30px;">
<h3>新增字典值</h3>
<div style="position: relative; top: -40px; left: 70%;">
<button type="button" class="btn btn-primary" id="saveBtn">保存</button>
<button type="button" class="btn btn-default" onclick="window.history.back();">取消</button>
</div>
<hr style="position: relative; top: -40px;">
</div>
<form id="dicValueForm" action="settings/dictionary/value/save.do" method="post" class="form-horizontal" role="form">
<div class="form-group">
<label for="create-dicTypeCode" class="col-sm-2 control-label">字典类型编码<span style="font-size: 15px; color: red;">*</span></label>
<div class="col-sm-10" style="width: 300px;">
<select class="form-control" id="typeCode" name="typeCode" style="width: 200%;">
<option value=""></option>
<c:forEach items="${dtList }" var="dt">
<option value="${dt.code }">${dt.name }</option>
</c:forEach>
</select>
<span id="typeCodeErrorMsg" style="color: red;font-size: 12px;"></span>
</div>
</div>
<div class="form-group">
<label for="create-dicValue" class="col-sm-2 control-label">字典值<span style="font-size: 15px; color: red;">*</span></label>
<div class="col-sm-10" style="width: 300px;">
<input type="text" class="form-control" id="value" name="value" style="width: 200%;">
<span id="valueErrorMsg" style="color: red;font-size: 12px;"></span>
</div>
</div>
<div class="form-group">
<label for="create-text" class="col-sm-2 control-label">文本</label>
<div class="col-sm-10" style="width: 300px;">
<input type="text" class="form-control" id="text" name="text" style="width: 200%;">
</div>
</div>
<div class="form-group">
<label for="create-orderNo" class="col-sm-2 control-label">排序号</label>
<div class="col-sm-10" style="width: 300px;">
<input type="text" class="form-control" id="orderNo" name="orderNo" style="width: 200%;">
<span id="orderNoErrorMsg" style="color: red;font-size: 12px;"></span>
</div>
</div>
</form>
<div style="height: 200px;"></div>
后端代码:(java开发)
package com.wkcto.crm.settings.web.controller;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wkcto.crm.settings.domain.DicType;
import com.wkcto.crm.settings.domain.DicValue;
import com.wkcto.crm.settings.service.DicTypeService;
import com.wkcto.crm.settings.service.DicValueService;
import com.wkcto.crm.settings.service.impl.DicTypeServiceImpl;
import com.wkcto.crm.settings.service.impl.DicValueServiceImpl;
import com.wkcto.crm.utils.TransactionHandler;
import com.wkcto.crm.utils.UUIDGenerator;
Controller:
// 一个模块对应一个控制器
public class DicValueController extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String servletPath = request.getServletPath();
if ("/settings/dictionary/value/create.do".equals(servletPath)) {
doCreate(request, response);
} else if ("/settings/dictionary/value/checkValueUniqueByTypeCode.do".equals(servletPath)) {
doCheckValueUniqueByTypeCode(request, response);
} else if ("/settings/dictionary/value/save.do".equals(servletPath)) {
doSave(request, response);
}
}
protected void doSave(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = UUIDGenerator.generate();
String value = request.getParameter("value");
String text = request.getParameter("text");
String orderNo = request.getParameter("orderNo");
String typeCode = request.getParameter("typeCode");
DicValue dv = new DicValue();
dv.setId(id);
dv.setValue(value);
dv.setText(text);
dv.setOrderNo(orderNo);
dv.setTypeCode(typeCode);
DicValueService dvs = (DicValueService) new TransactionHandler(new DicValueServiceImpl()).getProxy();
boolean ok = dvs.save(dv);
if(ok){
response.sendRedirect(request.getContextPath() + "/settings/dictionary/value/index.jsp");
}
}
protected void doCheckValueUniqueByTypeCode(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 接收参数
String typeCode = request.getParameter("typeCode");
String value = request.getParameter("value");
// 调用service
DicValueService dvs = (DicValueService) new TransactionHandler(new DicValueServiceImpl()).getProxy();
boolean ok = dvs.checkValueUniqueByTypeCode(typeCode, value);
// 响应json
Map<String, Boolean> jsonMap = new HashMap<>();
jsonMap.put("success", ok);
ObjectMapper om = new ObjectMapper();
String json = om.writeValueAsString(jsonMap);
response.setContentType("text/json;charset=UTF-8");
response.getWriter().print(json);
}
protected void doCreate(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DicTypeService dts = (DicTypeService) new TransactionHandler(new DicTypeServiceImpl()).getProxy();
List<DicType> dtList = dts.getAll();
request.setAttribute("dtList", dtList);
request.getRequestDispatcher("/settings/dictionary/value/save.jsp").forward(request, response);
}
}
主要使用测试方法:service:
dao:
dao.xml
------------------------------------------------- The end -------------------------------