<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>代码自动转换</title>
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
<link href="css/base.css" rel="stylesheet" type="text/css"/>
<link href="css/fistIndex.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="header_s">
<ol>
<li><img src="">图片自己定义</li>
<li class="back"><a href="daima.html" >通过类自动生成代码</a></li>
<li class="back"><a href="daima2.html">通过SQL自动生成代码</a></li>
<li class="back"><a href="daima3.html">使用说明</a></li>
</ol>

</div>
<div id="content_s" class="clear">
<h4>表单输入和验证</h4>
<form>
<div id="div_monad">
<tr>
<td>java类包路径</td>
<td><input placeholder="请输入java类包路径" type="text" id="packeDir"/><span id="error1"></span> </td>
<td> <input placeholder="请输入类名" type="text" id="className"/><span id="error2"></span> </td>

</tr><br>
<tr class="clear">
<td><input type="button" value="添加" id="btn_addUpload"></td>
<td><input type="button" value="生成代码" id="btn_creatCode"></td>
<td><input type="button" value="保存" id="btn_save"></td>
</tr><br>
<tr id="table_s">
<th>权限</th>
<th>类型</th>
<th>属性名</th>
<th>主键</th>
<th>备注</th>
</tr>
<div id="div_tab_first" ></div>
</div>
<table id='tbody' align="center">

</table>
</form>
</div>
<script src="js/jquery-2.1.4.min.js" type="text/javascript"></script>
<script >
$(".back").mousemove(function(){
$(this).attr("style","background-color:#432;");
});
$(".back").mouseout(function(){
$(this).attr("style","");
});

var rLicNoKey = 'id';
/* var uploadControlString = '<tr class="even">'
+ '<td align="center"><input id="spCodeFile_{index}" type="text" validators="validators:required,maxLength=10,pattern=regex[数据格式不正确]" regex="^((\-)?\d*(\.)?\d*)$" maxlength="10" name="{spCode}"></input>'
+ '<td align="center"><input id="spNameFile_{index}" type="text" style="width: 95%;" maxlength="60" name="{spName}"></input></td>'
+ '</tr>'; */
var uploadControlString = '<tr><td><select name="spLimit" id="spLimit_{index}"><option value="private">private</option><option value="public">public</option></select></td>'
+'<td><select name="spNature" id="spNature_{index}"><option value="String">String</option><option value="int">int</option><option value="char">char</option><option value="byte">byte</option><option value="shot">shot</option><option value="long">long</option><option value="float">float</option><option value="double">double</option><option value="boolean">boolean</option></select></td>+'
+'<td><input type="text" id="spAttName_{index}"></td>'
+'<td><input id="sppriKey_{index}" type="checkbox"/></td>'
+'<td><input type="text" id="spRemark_{index}"></td>'
+'<td><a href="#" id="remove_{index}">删除</a></td>'
+'</tr>';

var uploadGlobalArray = new Array();
var uploadGlobalMap = {};
var rowSelects = {};
var uploadTab = $('#div_tab_first');
var indexGlobal = 0;
var countGlobal = 0;

addUpload();

function addUpload() {
indexGlobal = indexGlobal + 1;
var t = $(this);
var u = '' + uploadControlString;
var index = indexGlobal;
//--修改新增控件的名称、ID和题头
u = u.replace('{index}', index).replace('{index}', index).replace('{index}', index).replace('{index}', index).replace('{index}', index).replace('{index}', index);
/* u = u.replace('{spName}', index);

u = u.replace('{spCode}', index); */
var $upload = $(u);

// uploadGlobalArray.push($upload);
uploadGlobalMap[index] = $upload;
uploadTab.append($upload);
var ctlUploadNewId = "select_" + index;
$("#" + ctlUploadNewId).html($("#listSample").html());
rowSelects[index] = index;
var id_remove = "#remove_" + index;
// alert(id_remove);
$(id_remove).bind('click', {
'index': index
}, function (e) {
removeOne(e);
});
countGlobal = countGlobal + 1;
}
function removeUpload() {
if (countGlobal > 0) {
var t = $(this);
// var temp = uploadGlobalArray.pop();
var temp = uploadGlobalMap[indexGlobal];
delete uploadGlobalMap[indexGlobal];
delete rowSelects[indexGlobal];
temp.remove();
countGlobal = countGlobal - 1;
}
}
function removeOne(that) {
var index = that.data.index;
var temp = uploadGlobalMap[index];
// uploadGlobalArray.pop();
delete uploadGlobalMap[index];
delete rowSelects[index];
temp.remove();
countGlobal = countGlobal - 1;
return false;
}
function save() {
/* if (countGlobal <= 0) {
alert("数据输入不完整");
return false;
} else { */
var jsonItemsString = "";
for ( var i in rowSelects) {
var spLimit = $("#spLimit_" + rowSelects[i]).val();
var spNature = $("#spNature_" + i).val(); //
var spAttName = $("#spAttName_" + i).val(); //
var sppriKey = $("#sppriKey_" + i).val(); //
var spRemark = $("#spRemark_" + i).val(); //

if (spNature == "") {
alert("属性名不能为空");
return false;
}
if (spNature != "") { //-- HS编号与品名都未录入的行忽略掉,只保存都录入的行
var tempString = '{"spLimit":"' + spLimit
+ '","spNature":"' + spNature + '","spAttName":"' + spAttName
+ '","sppriKey":"' + sppriKey + '","spRemark":"' + spRemark+'"}';
if (jsonItemsString.length > 0){
jsonItemsString = jsonItemsString + "," + tempString;
} else {
jsonItemsString = tempString;
}
}
}
var packeDir=$("#packeDir").val();
var className=$("#className").val();
var nameTotle='{"classDir":"'+packeDir+'","className":"'+className+'"}';
if (jsonItemsString.length > 0) { //--判断是否有需要保存的数据
jsonItemsString = "[" + jsonItemsString + "]";
nameTotle = "[" + nameTotle + "]";
//ajax 请求
$.post('insert', {
'nameTotle':nameTotle,
'jsonItemsString' : jsonItemsString
}, function(data) {
change();
alert(data);
});
} else {
return false;
}

}

$('#btn_addUpload').bind('click', addUpload);
$('#removeUpload').bind('click', removeUpload);
$('#btn_save').bind('click', save);
</script>
</body>
</html>

package com.feiyx.autojcode;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
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.feiyx.bean.BigEntity;
import com.feiyx.bean.ClassName;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;

/**
* @author 【狒狒Q:9715234】
* @time 2016-1-27 下午5:41:45
*
* @motto 既然笨到家,就要努力到家...
*
*/
public class FeiTotalManager extends HttpServlet {
private static final long serialVersionUID = 1L;

public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=utf-8");

String className = request.getParameter("nameTotle");
List<ClassName> classNameList = JsonUtil.getJavaCollection(
new ClassName(), className);
// ClassName classNam=(ClassName)classNameList.get(0);
System.out.println(className.toString());

String jsonItemsString = request.getParameter("jsonItemsString");
List<BigEntity> bigEntityList = JsonUtil.getJavaCollection(
new BigEntity(), jsonItemsString);
System.out.println(jsonItemsString);

try {
FeiTotalManager.beanTool(bigEntityList,classNameList);
} catch (Exception e) {
e.printStackTrace();
}
int i = 0;
if (i == 1) {
out.print("O(∩_∩)O 提交成功!"+i);
} else {
out.print("o(︶︿︶)o 唉!失败了!");
}
}
/**
*
* @param classes
* @param entryPath
* @param tarPath
* @param templateName
* @throws Exception
*/
public static void createBeanService(List<BigEntity> bigEntity,List<ClassName> className,String templateName) throws Exception{
String cName=className.get(0).getClassName();
String classDir=className.get(0).getClassDir();

/** SRC的目录 **/
String PathSrc=Constants.PATH_PROJECT_SRC;
/**模板的目录**/
String templatePath=Constants.PATH_PROJECT_TEMP;

/** 导出的目标路径 **/

File tarfile=new File(PathSrc,cName+"Service.java");
FileWriter fw = new FileWriter(tarfile); //导出的目录

File file = new File(templatePath); //模板文件路径
// String templateName=cName+"service.java";
String templateEncoding="UTF-8";

Map<String, List> map = new HashMap<String, List>();

map.put("classList", bigEntity);
map.put("className", className);
createJava(file,templateName, templateEncoding, map , fw);
}
/**
*
* @param file
* @param templateName
* @param templateEncoding
* @param root
* @param fw
*/

public static void createJava(File file, String templateName,String templateEncoding,Map<?,?> root ,FileWriter fw) {
try {
Configuration config=new Configuration();

//设置要解析的模板所在的目录,并加载模板文件
config.setDirectoryForTemplateLoading(file);
//设置包装器,并将对象包装为数据模型
config.setObjectWrapper(new DefaultObjectWrapper());
config.setDefaultEncoding(templateEncoding);
//获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
Template template=config.getTemplate(templateName,templateEncoding);
template.setEncoding(templateEncoding);

template.process(root, fw);
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}catch (TemplateException e) {
e.printStackTrace();
}

}
/**
*
* @param c
* @param EntryPath
* @param tarPath
* @throws Exception
*/
public static void beanTool(List<BigEntity> list,List<ClassName> className)throws Exception{
createBeanService(list,className,"temp_inface.ftl");
}

}

commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-httpclient-3.0.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
ezmorph-1.0.4.jar
freemarker.jar
hibernate-annotations.jar
json-lib-2.4-jdk15.jar
mysql-connector-java-5.1.30-bin.jar
rapid-generator-4.0.jar
servlet-api.jar

需要这些jar包

/**得到javaCoolection
* List<SafePlan> javaCollection = JsonUtil.getJavaCollection(new SafePlan(), s);
* @param clazz
* @param jsons
* @return
*/
public static <T> List<T> getJavaCollection(T clazz, String jsons) {
if(StringUtils.isBlank(jsons))
return null;
List<T> objs = null;
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(jsons);
if (jsonArray != null) {
objs = new ArrayList<T>();
List list = (List) JSONSerializer.toJava(jsonArray);
for (Object o : list) {
JSONObject jsonObject = JSONObject.fromObject(o);
T obj = (T) JSONObject.toBean(jsonObject, clazz.getClass());
objs.add(obj);
}
}
return objs;
}

/**
* 转换LIST为 jsonStr
* @param list
* @return
*/
public static String getJavaCollectionJsonStr(List list){
JSONArray jsonArray3 = JSONArray.fromObject( list );
return jsonArray3.toString();
}

public static String getJavaObjectJsonStr(Object list){
JSONObject fromObject = JSONObject.fromObject(list );
return fromObject.toString();
}

最新文章

  1. JavaScript语言精粹--Function,类,this,对象
  2. 总结移动安全的测试点及详解allowbackup漏洞
  3. 自动化运维工具Ansible详细部署 (转载)
  4. 一个node项目的框架搭建流程
  5. struts2 配置拦截器
  6. windows IIS6 PHP搭建
  7. m=m++,结果让你大吃一惊。
  8. web项目测试方法总结
  9. C#如何转换2位数字表示的年
  10. Android中Chronometer 计时器和震动服务控件
  11. Java 23种设计模式详尽分析与实例解析之三--行为型模式
  12. 基于最简单的FFmpeg采样读取内存读写:内存玩家
  13. web项目从域名申请到发布
  14. Spring AOP面向切面编程的实现
  15. 在IIS中部署Asp.net Mvc
  16. Springboot 系列(三)Spring Boot 自动配置原理
  17. 使用virtualenvwrapper模块管理python虚拟环境
  18. java Base36 算法
  19. .NET Core 配置GC工作模式与内存的影响
  20. Asp.net core 学习笔记 (操作 url and query params)

热门文章

  1. 使用ViewPager实现Tab
  2. 【[HAOI2009]逆序对数列】
  3. C/C++心得-理解指针
  4. PHP 判断常量,变量和函数是否存在
  5. HDU 1009 FatMouse&#39; Trade(简单贪心)
  6. 图形解析理解 css3 之倾斜属性skew()
  7. 分别用Eclipse和IDEA搭建Scala+Spark开发环境
  8. 环境配置之 Debug 和 Release - iOS
  9. Qt5连接Mysql环境配置
  10. 19-3-1Python的PyCharm编辑器,以及格式化输出、while循环、运算符、编码初识