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

2023-11-17

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • QT QStringList 用法

    QStringList类提供了一个字符串列表从QList
  • python实现词云

    python实现词云 制作说明 使用python制作词云需要导入WordCloud库 该库是python中的一个非常优秀的词云展示第三方库 此外 为了能够在python中显示中文字符 还需下载 安装另一个库 jieba库 该库也是一个pyt
  • 文件搜索工具Everything

    Everything是由voidtools开发的一款文件搜索工具 这款软件是基于名称实时定位文件和目录 Everything功能强大 体积小巧 第一次安装使用时会建立一个索引数据库 将所有文件和文件夹的名称导入其中 后续使用能够以极快的速度
  • 动态链接库的创建和调用

    1 CManageCounter h 头文件 TEMPLATEDLL EXPORTS 在 配置属性 gt c c gt 预处理器 gt 预处理定义 注 自己命名 ifdef TEMPLATEDLL EXPORTS define TRADEG
  • 大一c语言选择题库及答案,c语言选择题(大一c语言编程题库)

    第一个结果是1 因为c语言中没有布尔类型 把1当作true 0当作false 看第一题 是逻辑与运算符 返回结果只会是1或0 即真或假 x 15结果大于1 被认为是真 C语言中 对文件操作的一般步骤是 A 打开文件 gt 操作文件 gt 关
  • Suricata + Wireshark离线流量日志分析

    目录 一 访问一个404网址 触发监控规则 1 使用python搭建一个虚拟访问网址 2 打开Wireshark 抓取流量监控 3 在Suricata分析数据包 流量分析经典题型 入门题型 题目 Cephalopod 图片提取 进阶题型 题
  • Java中的异常

    异常Exception 是指程序运行时 由于输入错误 网络 程序逻辑等原因导致运行时出现的问题 出现异常时 程序会暂时中断执行 并根据产生异常的原因 创建对应异常类型的异常对象 并抛出给JVM捕获处理 1 Java中的常见异常 1 Null
  • HTML5 简介及基础教程

    什么是 HTML5 HTML5是一种用于创建Web页面和应用程序的标记语言 是HTML的第五个版本 HTML5是由万维网联盟 W3C 和网络超文本应用技术工作组 WHATWG 共同开发的 并于2014年10月推出了最终版本 HTML5包括一
  • WebRTC源码架构浅析

    http www oschina net question 35855 121850
  • 【Python基础】Python简介

    开篇 从本篇文章开始 笔者将带着大家一起学习Python的入门基础知识 自从人工智能 大数据行业的兴起 Python变得炙手可热 成为了近几年最流行的语言之一 2018年 Python 语言上升了 3 62 其次是Visual Basic
  • AI算法工程师

    目录 机器学习 概率图模型 之 隐马尔可夫模型 HMM 一 马尔科夫链 二 HMM 的基本概念 1 HMM 背景与定义 2 HMM 的两个基本假设 3 确定 HMM 的两个空间和三组参数 三 HMM 三个基本问题 导图 四 HMM 相关算法
  • BLE MESH在配网广播中的Service UUID:1827与1828

    Mesh Provisioning UUID 1827 是一种服务的UUID 一般在广播包中中代表设备为未配网设备 也用于给配网器进行识别 在该服务下还有两个UUID 0x2ADB 用于写 0x2ADC 用于上报 在使用GATT配网阶段的数
  • java stack训练(1)

    有效的括号 给定一个只包括 的字符串 s 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 class Solution public boolean isValid String s if
  • proteus 8.8 sp1 (含汉化、破解)安装方法

    若是按照此方法存在问题 欢迎大家留言评论 一 下载地址 链接 https pan baidu com s 1VtYO2dwKRV bMSG6xy6OEQ 提取码 pp9q 二 软件介绍 proteus软件在单片机仿真上面比较优越 8 6版本
  • linux与centos的关系

    首先大家应该都知道 操作系统主要分3个部分 分别是 内核 库 应用程序 内核主要管理与硬件的直接交互的原语代码就类似dao层的一个方法 是原子性的 而库是对内核的进一步封装 当一个功能需要多个原语时 就比如有的程序 需要键盘的输入 还需要显
  • UTSC-TK2016工具集使用笔记

    1 Pcap2Session ps1 对原始流量文件进行切分 以会话 所有层 会话 应用层 流 所有层 流 应用层的形式对原始流量文件进行切分 删除文件长度为0的数据 删除重复文件 生成2 Session文件夹 2 ProcessSessi
  • 数据结构实训-学生信息管理程序C语言版

    问题描述 学生信息包括 学号 姓名 年龄 性别 出生年月 地址 电话和 E mail等 试设计一个学生信息管理程序 实现学生信息的电子化管理 要求 使用文件方式存储数据 采用链表组织学生数据 基本要求 2 基本要求 系统以菜单方式工作 学生
  • java计算两个日期之间相差天数和相隔天数详解

    大家看到文章标题 两个日期之间相差天数和相隔天数 是否有疑惑呢 从中文字面理解 相差 和 相隔 是有区别的 然而就是这些区别害死很多人 却没有发现 在大量新增统计时是差之毫厘谬以千里 我能都发现是因为一个偶然的机会 一个项目运行几年却没有人
  • Ubuntu20.04安装后,root账户无法登录,ssh无法远程连接处理方法

    最近一直在用Ubuntu系统 发现了一些规律性的东西 每当安装完系统就得去做一些事情 要不然无法正常丝滑的使用 我把这几个罗列出来 装机的步骤我就省了 比较简单跟着向导来就行 不要最小化安装就行 1 更换apt 源为阿里云镜像源 下载包的时
  • 在前端页面下拉框动态显示数据库查询出来的结果,供客户勾选,限制客户自建字段(java版)

    最终效果 案例 前端代码 首先引入标签库jar和html代码 div class form group div