代码的分层
目的:解决一个文件有太多行的代码导致维护阅读困难的问题
解决方法:拆解成多个文件存放,一个文件编写对外业务的主要方法(称为业务文件),其他文件编写好给业务文件使用。
使用的方法如下:PortalMenuNewController.java为业务文件,PortalMenuBaseController.java为其他文件(基础文件)。
PortalMenuBaseController.java写好了方法loadSyncTaskListData()给PortalMenuNewController.java文件使用,这样PortalMenuNewController.java比较简洁,业务清晰,层次分明。
PortalMenuNewController.java文件的部分代码如下:
public class PortalMenuNewController extends PortalMenuBaseController {
/**
* 获取任务系统
* @param request
* @param writer
* @param response
* @param taskReq
*/
@SuppressWarnings("unchecked")
@RequestMapping("/loadtasklist")
public void loadSyncTaskListData(HttpServletRequest request,
PrintWriter writer, HttpServletResponse response,
@RequestBody TaskReq taskReq) {
MHLoginInfo mhLoginInfo = getMhLoginInfo();
loadSyncTaskListData(request,writer,response,taskReq,mhLoginInfo);
}
PortalMenuBaseController.java文件部分代码如下
protected void loadSyncTaskListData(HttpServletRequest request,
PrintWriter writer, HttpServletResponse response, TaskReq taskReq,
MHLoginInfo mhLoginInfo) {
RespData rd = new RespData(1, "ok");
try {
int taskStatus = taskReq.getTaskStatus();
String title = taskReq.getTitle();
String portal = taskReq.getPortal();
int page = taskReq.getPage();
// String accessToken = taskReq.getAccessToken();
int rows = taskReq.getRows();
response.setContentType("apolication/json;charset=UTF-8;");
Map<String, Object> params = new HashMap<String, Object>();
params.put("taskStatus", taskStatus);
params.put("title", title);
params.put("portal", StringTools.isEmpty(portal) ? "zm" : portal);
request.setAttribute("page2", page);
request.setAttribute("rows2", rows);
String userAccount = "";
// MHLoginInfo mhLoginInfo = getMhLoginInfo(accessToken);
if (mhLoginInfo != null) {
userAccount = mhLoginInfo.getUserAccount();
params.put("owner", userAccount);
Map data = pageService.gridPageQueryObject(request,
SyncTaskListDao.class.getName(), "getSyncTaskList",
"countSyncTask", params);
rd.setData(data);
} else {
rd.setErrCode(4);
rd.setErrMsg("认证失败");
}
} catch (Exception ex) {
logger.error(ex.getMessage());
rd.setErrCode(2);
rd.setErrMsg(ex.getMessage());
}
writer.write(JSONTool.toJson(rd));
}