在前端页面下拉框动态显示数据库查询出来的结果,供客户勾选,限制客户自建字段(java版)

574 篇文章 4 订阅
272 篇文章 1 订阅

最终效果:
在这里插入图片描述

案例:
前端代码:
首先引入标签库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 -------------------------------

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值