1.當你想修改項目的標題,前端將jeecgboot改成你想要的標題的時候,去前端的.env文件中進行修改。
圖1 修改標題
根據路徑找到文件,將網站標題改成自己需要的就可以正常顯示了。
圖2 顯示前
圖3 顯示后
2.在動態數組中,如果你知道數組需要多少長度,盡量給他確定一下長度,可以提升性能,養成個習慣。
圖4 給數組定長度
3.針對于結果允許為空的方法,需要判斷這里的值是否為空,否則代碼中可能會報空指針異常。
比如:
public Result<String> add(@RequestBody Kpi kpi) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();kpi.setCreateByDepartId(sysUser.getOrgId());kpi.setRespondepartment(sysUser.getOrgId());kpiService.save(kpi);//將kpi中的配合部門賦值給tobedone中的的配合部門String[] result=kpi.getCooperatedept().split(",");List<Tobedone> tobedoneList = new ArrayList<>(result.length);for(int i=0;i<result.length;i++){Tobedone tobedone = new Tobedone();tobedone.setKpiId(kpi.getId());tobedone.setTaskstatus(Constants.TODO);tobedone.setTasktype(Constants.KPI);tobedone.setCoopDepart(result[i]);tobedoneList.add(tobedone);}tobedoneService.saveBatch(tobedoneList);return Result.OK(Constants.ADD_SUCCESS);}
在這段代碼中的kpi.getCooperatedept方法在獲取數據的時候有可能會為空,因為一個指標的配合部門可以為空,在設計代碼的時候也允許一個指標沒有配合部門,所以我們要對這段代碼進行處理,當判斷獲取到的配合部門數據不為空且不為空字符串的時候才執行后面的賦值操作。
修改后的代碼為:
public Result<String> add(@RequestBody Kpi kpi) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();kpi.setCreateByDepartId(sysUser.getOrgId());kpi.setRespondepartment(sysUser.getOrgId());kpiService.save(kpi);//將kpi中的配合部門賦值給tobedone中的的配合部門String cooperatedept = kpi.getCooperatedept();//判斷其不為空且不為空字符串的時候才進行后續的操作。if (cooperatedept != null && !cooperatedept.trim().isEmpty()) {String[] result = cooperatedept.split(",");List<Tobedone> tobedoneList = new ArrayList<>(result.length);for(int i=0; i<result.length; i++) {Tobedone tobedone = new Tobedone();tobedone.setKpiId(kpi.getId());tobedone.setTaskstatus(Constants.TODO);tobedone.setTasktype(Constants.KPI);tobedone.setCoopDepart(result[i]);tobedoneList.add(tobedone);}tobedoneService.saveBatch(tobedoneList);}return Result.OK(Constants.ADD_SUCCESS);}
4.前端需要必填的屬性需要添加上必填,不填不給提交。
只需要在代碼中添加代碼required: true。這樣在前端的顯示的時候就會提示必填。
圖4 字段設置必填
5.頁面調整:
編寫代碼的時候不止需要考慮后端代碼,還需要考慮前端的美觀性。修改前:
圖5 前端修改前
各個字段的長度都相同,應該哪一部分的內容多,輸入框就給的多一些。所以直接設置為多行文本。
修改后:
圖6 修改后
6.因為字段的長度設置導致執行數據庫時出現異常。
圖7 執行數據庫異常
總而言之,是因為數據庫字段的長度設置的太短,但是輸入框文本中的數據很長,比如圖中的配合部門,數據庫設置的varchar(64),但是很明顯超出了長度。只需要修改數據庫字段的長度即可。
圖8 修改數據庫字段的長度
7.分頁寫死了導致只能獲取第一頁的數據而不能獲取第二頁以及之后的數據,修改后的代碼如下,拿一個方法進行舉例:
/** 匯報年度關鍵指標* */@RequestMapping(value = "/report_kpi", method = RequestMethod.GET)@Transactional//事務處理注解public Result<IPage<ReportKpi>> reportKpi(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();List<ReportKpi> ReportKpiList = reportKpiService.SelectReportKpiListAll(sysUser.getOrgId());// 手動實現分頁int total = ReportKpiList.size();int startIndex = (pageNo - 1) * pageSize;int endIndex = Math.min(startIndex + pageSize, total);List<ReportKpi> pagedList;if (startIndex < total) {pagedList = ReportKpiList.subList(startIndex, endIndex);} else {pagedList = new ArrayList<>();}Page<ReportKpi> page = new Page<>(pageNo, pageSize, total);page.setRecords(pagedList);return Result.OK(page);}