Skip to content

Commit 03152e5

Browse files
committed
1.修复bejson安全防护策略拦截问题(感谢@liangbintao@1808083642的反馈) 2.优化字段名含date字符串的处理(感谢@smilexzh的反馈) 3.控制台动态输出项目访问地址(感谢@gaohanghang的提交)
1 parent 8b37443 commit 03152e5

File tree

6 files changed

+83
-63
lines changed

6 files changed

+83
-63
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
|更新日期|更新内容|
2929
|-|-|
30+
|20191229|1.修复bejson安全防护策略拦截问题(感谢@liangbintao@1808083642的反馈) 2.优化字段名含date字符串的处理(感谢@smilexzh的反馈) 3.控制台动态输出项目访问地址(感谢@gaohanghang的提交)|
3031
|20191128|1.修复支持string-copy导致的以n结尾的字母不显示问题 2.jpa-entity新增swagger@ApiModel@ApiModelProperty注解和SQL字段@Column注解(感谢@yjq907的建议) |
3132
|20191126|1.springboot2内置tomcat更换为性能更强大的undertow 2.修复tinyintTransType参数丢失问题 |
3233
|20191124|1.java代码结构优化. 2.新增简单的json生成模式 3.新增简单的正则表达式匹配模式(感谢@ydq的贡献) 4.新增对复制String代码中的乱SQL代码的支持 5.优化对JSON的父子节点/处理,JSONObject和JSONArray节点处理,子节点缺失'{'头处理|
Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
1-
package com.softdev.system.generator.config;
2-
3-
import com.alibaba.fastjson.support.config.FastJsonConfig;
4-
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
5-
import org.springframework.context.annotation.Configuration;
6-
import org.springframework.http.MediaType;
7-
import org.springframework.http.converter.HttpMessageConverter;
8-
import org.springframework.http.converter.StringHttpMessageConverter;
9-
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
10-
11-
import java.nio.charset.Charset;
12-
import java.util.ArrayList;
13-
import java.util.List;
14-
/**
15-
* 2019-2-11 liutf WebMvcConfig 整合 cors 和 SpringMvc MessageConverter
16-
*/
17-
@Configuration
18-
public class WebMvcConfig implements WebMvcConfigurer {
19-
20-
/* @Override
21-
public void addCorsMappings(CorsRegistry registry) {
22-
registry.addMapping("/**")
23-
.allowedOrigins("*")
24-
.allowedHeaders("x-requested-with")
25-
.allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "TRACE")
26-
.maxAge(3600);
27-
}*/
28-
29-
@Override
30-
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
31-
//FastJsonHttpMessageConverter
32-
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
33-
34-
List<MediaType> fastMediaTypes = new ArrayList<>();
35-
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
36-
fastConverter.setSupportedMediaTypes(fastMediaTypes);
37-
38-
FastJsonConfig fastJsonConfig = new FastJsonConfig();
39-
fastJsonConfig.setCharset(Charset.forName("UTF-8"));
40-
fastConverter.setFastJsonConfig(fastJsonConfig);
41-
42-
//StringHttpMessageConverter
43-
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
44-
stringConverter.setDefaultCharset(Charset.forName("UTF-8"));
45-
stringConverter.setSupportedMediaTypes(fastMediaTypes);
46-
converters.add(stringConverter);
47-
converters.add(fastConverter);
48-
}
1+
package com.softdev.system.generator.config;
2+
3+
import com.alibaba.fastjson.support.config.FastJsonConfig;
4+
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.http.MediaType;
7+
import org.springframework.http.converter.HttpMessageConverter;
8+
import org.springframework.http.converter.StringHttpMessageConverter;
9+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
10+
11+
import java.nio.charset.StandardCharsets;
12+
import java.util.ArrayList;
13+
import java.util.List;
14+
/**
15+
* 2019-2-11 liutf WebMvcConfig 整合 cors 和 SpringMvc MessageConverter
16+
*/
17+
@Configuration
18+
public class WebMvcConfig implements WebMvcConfigurer {
19+
20+
/* @Override
21+
public void addCorsMappings(CorsRegistry registry) {
22+
registry.addMapping("/**")
23+
.allowedOrigins("*")
24+
.allowedHeaders("x-requested-with")
25+
.allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "TRACE")
26+
.maxAge(3600);
27+
}*/
28+
29+
@Override
30+
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
31+
//FastJsonHttpMessageConverter
32+
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
33+
34+
List<MediaType> fastMediaTypes = new ArrayList<>();
35+
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
36+
fastConverter.setSupportedMediaTypes(fastMediaTypes);
37+
38+
FastJsonConfig fastJsonConfig = new FastJsonConfig();
39+
fastJsonConfig.setCharset(StandardCharsets.UTF_8);
40+
fastConverter.setFastJsonConfig(fastJsonConfig);
41+
42+
//StringHttpMessageConverter
43+
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
44+
stringConverter.setDefaultCharset(StandardCharsets.UTF_8);
45+
stringConverter.setSupportedMediaTypes(fastMediaTypes);
46+
converters.add(stringConverter);
47+
converters.add(fastConverter);
48+
}
4949
}

generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.springframework.stereotype.Controller;
1414
import org.springframework.web.bind.annotation.GetMapping;
1515
import org.springframework.web.bind.annotation.PostMapping;
16+
import org.springframework.web.bind.annotation.RequestBody;
1617
import org.springframework.web.bind.annotation.ResponseBody;
1718

1819
import java.io.IOException;
@@ -37,7 +38,7 @@ public String index() {
3738

3839
@PostMapping("/genCode")
3940
@ResponseBody
40-
public ReturnT<Map<String, String>> codeGenerate( ParamInfo paramInfo ) {
41+
public ReturnT<Map<String, String>> codeGenerate(@RequestBody ParamInfo paramInfo ) {
4142

4243
try {
4344

generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public static ClassInfo processTableIntoClassInfo(ParamInfo paramInfo)
202202
fieldClass = Float.class.getSimpleName();
203203
} else if (columnLine.contains("double")) {
204204
fieldClass = Double.class.getSimpleName();
205-
} else if (columnLine.contains("time") || columnLine.contains("date") || columnLine.contains("datetime") || columnLine.contains("timestamp")) {
205+
} else if (columnLine.contains("time") || columnLine.contains(" date") || columnLine.contains("datetime") || columnLine.contains("timestamp")) {
206206
fieldClass = Date.class.getSimpleName();
207207
} else if (columnLine.contains("varchar") || columnLine.contains(" text")|| columnLine.contains("char")
208208
|| columnLine.contains("clob")||columnLine.contains("blob")||columnLine.contains("json")) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version": "20191128"}
1+
{"version": "20191229"}

generator-web/src/main/resources/templates/index.ftl

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,27 +42,44 @@
4242
genCodeArea.setSize('auto','auto');
4343
4444
var codeData;
45-
45+
// 使用:var jsonObj = $("#formId").serializeObject();
46+
$.fn.serializeObject = function()
47+
{
48+
var o = {};
49+
var a = this.serializeArray();
50+
$.each(a, function() {
51+
if (o[this.name]) {
52+
if (!o[this.name].push) {
53+
o[this.name] = [o[this.name]];
54+
}
55+
o[this.name].push(this.value || '');
56+
} else {
57+
o[this.name] = this.value || '';
58+
}
59+
});
60+
return o;
61+
};
4662
/**
4763
* 生成代码
4864
*/
4965
$('#btnGenCode').click(function () {
50-
var tableSql = ddlSqlArea.getValue();
66+
var jsonData = {
67+
"tableSql": ddlSqlArea.getValue(),
68+
"packageName":$("#packageName").val(),
69+
"returnUtil":$("#returnUtil").val(),
70+
"authorName":$("#authorName").val(),
71+
"dataType":$("#dataType").val(),
72+
"tinyintTransType":$("#tinyintTransType").val(),
73+
"nameCaseType":$("#nameCaseType").val()
74+
};
5175
$.ajax({
5276
type: 'POST',
5377
url: base_url + "/genCode",
54-
data: {
55-
"tableSql": tableSql,
56-
"packageName":$("#packageName").val(),
57-
"returnUtil":$("#returnUtil").val(),
58-
"authorName":$("#authorName").val(),
59-
"dataType":$("#dataType").val(),
60-
"tinyintTransType":$("#tinyintTransType").val(),
61-
"nameCaseType":$("#nameCaseType").val()
62-
},
78+
data:(JSON.stringify(jsonData)),
6379
dataType: "json",
80+
contentType: "application/json",
6481
success: function (data) {
65-
if (data.code == 200) {
82+
if (data.code === 200) {
6683
codeData = data.data;
6784
genCodeArea.setValue(codeData.beetlentity);
6885
genCodeArea.setSize('auto', 'auto');
@@ -72,6 +89,7 @@
7289
}
7390
}
7491
});
92+
return false;
7593
});
7694
/**
7795
* 按钮事件组

0 commit comments

Comments
 (0)