Class :${functionName}Controller *
功能描述: 功能描述 * * @author ${functionAuthor} * @version 1.0.0 *
*-----------------------------------------------------
* 创建时间:${functionVersion}
*-----------------------------------------------------
*
Description:${functionNameSimple}列表页面
* @return String 列表路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:list") @RequestMapping(value = {"list", ""}) public String list(${ClassName} ${className}, HttpServletRequest request, HttpServletResponse response, Model model) { Page<${ClassName}> page = ${className}Service.findPage(new Page<${ClassName}>(request, response), ${className}); model.addAttribute("page", page); return "ccqnsoft/${lastPackageName}/${viewPrefix}List"; } /** *
Description:查看,增加,编辑${functionNameSimple}表单页面
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
* @author
*
*/ @RequiresPermissions(value={"${permissionPrefix}:view","${permissionPrefix}:add","${permissionPrefix}:edit"},logical=Logical.OR) @RequestMapping(value = "form") public String form(${ClassName} ${className}, Model model) { model.addAttribute("${className}", ${className}); return "ccqnsoft/${lastPackageName}/${viewPrefix}Form"; } /** *
Description:保存${functionNameSimple}
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions(value={"${permissionPrefix}:add","${permissionPrefix}:edit"},logical=Logical.OR) @RequestMapping(value = "save") public String save(${ClassName} ${className}, Model model, RedirectAttributes redirectAttributes) throws Exception{ if (!beanValidator(model, ${className})){ return form(${className}, model); } if(!${className}.getIsNewRecord()){//编辑表单保存 ${ClassName} t = ${className}Service.get(${className}.getId());//从数据库取出记录的值 MyBeanUtils.copyBeanNotNull2Bean(${className}, t);//将编辑表单中的非NULL值覆盖数据库记录中的值 ${className}Service.save(t);//保存 }else{//新增表单保存 ${className}Service.save(${className});//保存 } addMessage(redirectAttributes, "保存${functionNameSimple}成功"); return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } /** *
Description:删除${functionNameSimple}
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:del") @RequestMapping(value = "delete") public String delete(${ClassName} ${className}, RedirectAttributes redirectAttributes) { ${className}Service.delete(${className}); addMessage(redirectAttributes, "删除${functionNameSimple}成功"); return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } /** *
Description:批量删除${functionNameSimple}
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:del") @RequestMapping(value = "deleteAll") public String deleteAll(String ids, RedirectAttributes redirectAttributes) { String idArray[] =ids.split(","); for(String id : idArray){ ${className}Service.delete(${className}Service.get(id)); } addMessage(redirectAttributes, "删除${functionNameSimple}成功"); return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } /** *
Description:导出excel文件
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:export") @RequestMapping(value = "export", method=RequestMethod.POST) public String exportFile(${ClassName} ${className}, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { try { String fileName = "${functionNameSimple}"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; Page<${ClassName}> page = ${className}Service.findPage(new Page<${ClassName}>(request, response, -1), ${className}); new ExportExcel("${functionNameSimple}", ${ClassName}.class).setDataList(page.getList()).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导出${functionNameSimple}记录失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } /** *
Description:导入Excel数据
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:import") @RequestMapping(value = "import", method=RequestMethod.POST) public String importFile(MultipartFile file, RedirectAttributes redirectAttributes) { try { int successNum = 0; int failureNum = 0; StringBuilder failureMsg = new StringBuilder(); ImportExcel ei = new ImportExcel(file, 1, 0); List<${ClassName}> list = ei.getDataList(${ClassName}.class); for (${ClassName} ${className} : list){ try{ ${className}Service.save(${className}); successNum++; }catch(ConstraintViolationException ex){ failureNum++; }catch (Exception ex) { failureNum++; } } if (failureNum>0){ failureMsg.insert(0, ",失败 "+failureNum+" 条${functionNameSimple}记录。"); } addMessage(redirectAttributes, "已成功导入 "+successNum+" 条${functionNameSimple}记录"+failureMsg); } catch (Exception e) { addMessage(redirectAttributes, "导入${functionNameSimple}失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } /** *
Description:下载导入${functionNameSimple}数据模板
* @return String 返回路径
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequiresPermissions("${permissionPrefix}:import") @RequestMapping(value = "import/template") public String importFileTemplate(HttpServletResponse response, RedirectAttributes redirectAttributes) { try { String fileName = "${functionNameSimple}数据导入模板.xlsx"; List<${ClassName}> list = Lists.newArrayList(); new ExportExcel("${functionNameSimple}数据", ${ClassName}.class, 1).setDataList(list).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导入模板下载失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/${viewPrefix}/?repage"; } <#list table.columnList as c> <#-- 如果存在自定义java对象 --> <#if c.tableName?? && c.tableName!=""> /** *
Description:选择${c.comments}
* @param 类型 参数中文释义(多个参数用
分隔)
*
*/ @RequestMapping(value = "select${c.simpleJavaField}") public String select${c.simpleJavaField}(${c.simpleJavaType} ${c.simpleJavaField}, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, HttpServletRequest request, HttpServletResponse response, Model model) { Page<${c.simpleJavaType}> page = ${className}Service.findPageBy${c.simpleJavaField}(new Page<${c.simpleJavaType}>(request, response), ${c.simpleJavaField}); model.addAttribute("labelNames", fieldLabels.split("\\|")); model.addAttribute("labelValues", fieldKeys.split("\\|")); model.addAttribute("fieldLabels", fieldLabels); model.addAttribute("fieldKeys", fieldKeys); model.addAttribute("url", url); model.addAttribute("searchLabel", searchLabel); model.addAttribute("searchKey", searchKey); model.addAttribute("obj", ${c.simpleJavaField}); model.addAttribute("page", page); return "modules/sys/gridselect"; } #if> #list> }]]>