• 前端代码生成


    前端代码生成

    为了解决重复的工作:entity、dao、web、mvc.xml、页面
    变化部分:不同的表不同字段
    使用到的技术:bootstrap

    有兴趣的同学可以拿走学习一下,需要修改其中的代码,改为自己需要的
    效果图:
    在这里插入图片描述

    
    DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ=="
    		 crossorigin="anonymous" referrerpolicy="no-referrer">script>
    		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.6.1/css/bootstrap.min.css" integrity="sha512-T584yQ/tdRR5QwOpfvDfVQUidzfgc2339Lc8uBDtcp/wYu80d7jwBgAxbyMh0a9YM9F8N3tdErpFI8iaGx6x5g=="
    		 crossorigin="anonymous" referrerpolicy="no-referrer" />
    		<title>前端控制器title>
    		<script>
    			$(function() {
    				
    				
    			})
    			function add(node){
    				var tr = ' ';
    				$(node).parent().parent().parent().append(tr);
    			}
    			function del(node){
    				$(node).parent().parent().remove();
    			}
    			function createCode(){
    				// debugger;
    				// 第1个区域的信息获取
    				var tableName = $(".area1 tr").eq(0).find("td").eq(0).find("input").val();
    				var clazzName = $(".area1 tr").eq(0).find("td").eq(1).find("input").val();
    				var authorName = $(".area1 tr").eq(1).find("td").eq(0).find("input").val();
    				var basePackageName = $(".area1 tr").eq(1).find("td").eq(1).find("input").val();
    				// tableName = "t_oa_meeting_info";
    				// clazzName = "MeetingInfo";
    				// authorName = "代码生成";
    				// basePackageName = "com.zking";
    				// 第2个区域的信息获取
    				// var tableName = $(".area2 tr").gt(0).find("td").eq(0).find("input").val();
    				var arr = new Array();
    				$(".area2 tr:gt(0)").each(function(i,n){
    					// debugger;
    					var attrName = $(n).find("td").eq(0).find("input").val();
    					var attrType = $(n).find("td").eq(1).find("option:selected").val();
    					arr.push({attrName,attrType});
    				})
    				// console.log(arr);
    				createArea3(arr,tableName,clazzName,authorName,basePackageName);
    				createArea4(arr,tableName,clazzName,authorName,basePackageName);
    				createArea5(arr,tableName,clazzName,authorName,basePackageName);
    				createArea6(arr,tableName,clazzName,authorName,basePackageName);
    				// 前端代码存储不能用 textarea
    				createArea7(arr,tableName,clazzName,authorName,basePackageName);
    				createArea8(arr,tableName,clazzName,authorName,basePackageName);
    			}
    			// 前端编辑代码实现
    			function createArea8(arr,tableName,clazzName,authorName,basePackageName){
    				var clazzname = clazzName.substring(0,1).toLocaleLowerCase()+clazzName.substring(1);
    				var $action = '${empty '+clazzname+' ? \'add\' : \'edit\'}';
    				var htmlStr='<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>'+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+=''+'\r\n';
    				htmlStr+='
    +clazzname+'.action?methodName='+$action+'" method="post">'+'\r\n'; for(var i in arr){ htmlStr+=arr[i]["attrName"]+':+arr[i]["attrName"]+'" value="${'+clazzname+'.'+arr[i]["attrName"]+' }">
    '
    +'\r\n'; } htmlStr+=''+'\r\n'; htmlStr+=''
    +'\r\n'; htmlStr+=''+'\r\n'; htmlStr+=''+'\r\n'; $(".area8 input").val(htmlStr); } // 前端列表代码实现 function createArea7(arr,tableName,clazzName,authorName,basePackageName){ var clazzname = clazzName.substring(0,1).toLocaleLowerCase()+clazzName.substring(1); var htmlStr='<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>'+'\r\n'; htmlStr+='<%@ taglib uri="http://jsp.veryedu.cn" prefix="z"%> '+'\r\n'; htmlStr+='<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> '+'\r\n'; htmlStr+=''+'\r\n'; htmlStr+=''+'\r\n'; htmlStr+=''+'\r\n'; htmlStr+=''+'\r\n'; htmlStr+=''+'\r\n'; htmlStr+='