ControllerTemplate.ftl
4.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package ${packageInfo};
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.taover.base.ResultInfo;
import ${poPackageInfo}.${poClassName};
import ${serviceImplPackageInfo}.${serviceImplClassName};
import com.taover.tools.CustomTimestampEditor;
@Controller
@RequestMapping("/${classUrlPath}")
public class ${controllerClassName} {
@Resource
private ${serviceImplClassName} ${serviceImplFieldName};
Log log = LogFactory.getLog(this.getClass());
/**
* 绑定日期参数
* @param request
* @param binder
*/
@InitBinder
protected void init(HttpServletRequest request, WebDataBinder binder){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
datetimeFormat.setLenient(false);
binder.registerCustomEditor(java.sql.Timestamp.class,new CustomTimestampEditor(datetimeFormat, true));
}
@RequestMapping(value="/add", method=RequestMethod.POST)
@ResponseBody
public ResultInfo add(
${poClassName} ${poFieldName},
Model model,
HttpServletRequest request){
ResultInfo result = new ResultInfo();
try{
result = this.${serviceImplFieldName}.add(${poFieldName});
}catch(Exception e){
result.setResultId("failure");
result.setResultMessage("系统报错,添加失败!");
log.error("系统报错,添加失败!");
}
return result;
}
@RequestMapping(value="/delete")
@ResponseBody
public ResultInfo delete(
@RequestParam(value="id", required=false) Integer id,
Model model,
HttpServletRequest request){
//创建返回对象
ResultInfo result = new ResultInfo();
//参数检验
if(id==null || id<0){
result.setResultId("failure");
result.setResultMessage("删除失败,缺少主键信息或者主键错误!");
//添加失败,将提交的对象信息放入 data.node
result.addData("node", id);
return result;
}
try{
result = this.${serviceImplFieldName}.delete(id);
}catch(Exception e){
result.setResultId("failure");
result.setResultMessage("系统报错,删除失败!");
log.error("系统报错,删除失败!");
}
return result;
}
@RequestMapping(value="/update", method=RequestMethod.POST)
@ResponseBody
public ResultInfo update(
${poClassName} ${poFieldName},
Model model,
HttpServletRequest request){
//创建返回对象
ResultInfo result = new ResultInfo();
try{
result = this.${serviceImplFieldName}.update(${poFieldName});
}catch(Exception e){
result.setResultId("failure");
result.setResultMessage("系统报错,更新失败!");
log.error("系统报错,更新失败!");
}
return result;
}
/**
* 分页条件查询
* @param page
* @param pageSize
* @return
*/
@RequestMapping(value = "/query")
@ResponseBody
public Map<String, Object> query(
@RequestParam(value="sort", required=false) String sort,
@RequestParam(value="order", required=false) String order,
@RequestParam(value="page", required=false) Integer page,
@RequestParam(value="rows", required=false) Integer pageSize,
HttpServletRequest request) {
//参数检验
if(page == null){
page = 1;
}
if(pageSize == null){
pageSize = 20;
}
if("".equals(sort)){
sort = "id";
order = "desc";
}
//调用Service层查询方法
List<Object[]> arrayCondition = null;
Map<String, Object> result = this.${serviceImplFieldName}.query${poClassName}List(arrayCondition, sort, order, page, pageSize);
return result;
}
}