博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc +easy ui +Mybatis 录入数据
阅读量:4982 次
发布时间:2019-06-12

本文共 15038 字,大约阅读时间需要 50 分钟。

1、itemsEasyui.jsp

应用到的插件及知识点:日期控件My97 ,图片本地预览函数PreviewImage()

(1)easy ui 的模态窗口使用时,要指定DIV的属性 data-options="modal:true,closed:true,iconCls:'icon-save'"  主要是modal:true,需要展示时使用 jQuery("#itemsDiv").window('open'); 打开指定的div 

(2) 利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,.比起普通的ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件. <form id="itemsForm" enctype="multipart/form-data" style="padding:10px 20px 10px 40px;">本例中因为要上传一个图片,序列化语句不能传递。$("#itemsForm").serializeArray()在有上传文件的格式时不能用;采用了ajax方法异步上传

var formData = new FormData($( "#itemsForm" )[0]);   79          $.ajax({   80               url: 'addOrUpdate' ,   81               type: 'POST',   82               data: formData,   83               async: false,   84               cache: false,   85               contentType: false,   86               processData: false,   87               success: function (returndata) {   88                   $('#itemsDiv').window('close'); 89                     $('#itemsTable').datagrid('reload');   90                     $.messager.alert('提示',returndata.mes,'info');   91               }   92          });

 

1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  2 <%@include file="/taglibs.jsp" %>  3   4     5         165   166   167   168     
169
170
171
172 173
174
175

名称:

176

规格:

177

价格:

178

日期:

179

照片:

180

181
182
183
184
确认185
返回186
187
188
189
190 191 192

 

 

 

2、itemsController.java

1 package com.lr.controller;  2   3 import java.io.File;  4 import java.util.HashMap;  5 import java.util.List;  6 import java.util.Map;  7 import java.util.UUID;  8   9 import javax.servlet.http.HttpServletRequest; 10  11 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.stereotype.Controller; 13 import org.springframework.ui.Model; 14 import org.springframework.validation.BindingResult; 15 import org.springframework.validation.ObjectError; 16 import org.springframework.validation.annotation.Validated; 17 import org.springframework.web.bind.annotation.ModelAttribute; 18 import org.springframework.web.bind.annotation.PathVariable; 19 import org.springframework.web.bind.annotation.RequestMapping; 20 import org.springframework.web.bind.annotation.RequestMethod; 21 import org.springframework.web.bind.annotation.RequestParam; 22 import org.springframework.web.bind.annotation.ResponseBody; 23 import org.springframework.web.multipart.MultipartFile; 24 import org.springframework.web.servlet.ModelAndView; 25  26 import com.lr.controller.validation.ValidGroup1; 27 import com.lr.po.ItemsCustom; 28 import com.lr.po.ItemsQueryVo; 29 import com.lr.service.ItemsService; 30  31 /** 32  *  33  * 

34 * Title: ItemsController

35 *

Description:商品的controller

36 * @date 2015-4-13下午4:03:35 37 * @version 1.0 38 */ 39 @Controller 40 //为了对url进行分类管理 ,可以在这里定义根路径,最终访问url是根路径+子路径 41 //比如:商品列表:/items/queryItems.action 42 @RequestMapping("/items") 43 public class ItemsController { 44 45 @Autowired 46 private ItemsService itemsService; 47 48 49 //商品分类 50 //itemtypes 表示最终将方法返回值放在request中的key ; 51 @ModelAttribute("itemtypes") 52 public Map
getItemTypes(){ 53 Map
itemTypes= new HashMap
(); 54 itemTypes.put("101","数码"); 55 itemTypes.put("102","食品"); 56 return itemTypes; 57 } 58 // 商品查询 59 @RequestMapping("/queryItems") 60 public ModelAndView queryItems(HttpServletRequest request,Integer id ,ItemsQueryVo itemsQueryVo) throws Exception { 61 //测试forward后request是否可以共享 62 63 // 调用service查找 数据库,查询商品列表 64 List
itemsList = itemsService.findItemsList(itemsQueryVo); 65 66 // 返回ModelAndView 67 ModelAndView modelAndView = new ModelAndView(); 68 // 相当 于request的setAttribut,在jsp页面中通过itemsList取数据 69 modelAndView.addObject("itemsList", itemsList); 70 71 // 指定视图 72 // 下边的路径,如果在视图解析器中配置jsp路径的前缀和jsp路径的后缀,修改为 73 // modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); 74 // 上边的路径配置可以不在程序中指定jsp路径的前缀和jsp路径的后缀 75 modelAndView.setViewName("items/itemsList"); 76 77 return modelAndView; 78 79 } 80 81 //添加商品,ID用当前时间的 82 @RequestMapping(value="/addItems") 83 public String addItems( ) throws Exception { 84 return "items/addItems"; 85 } 86 //添加商品 通过 EASYUI框架 87 @RequestMapping(value="/addOrUpdate",method=RequestMethod.POST) 88 @ResponseBody 89 public Map
addOrUpdate(ItemsCustom itemsCustom,MultipartFile items_pic ) throws Exception{ 90 //spring会利用jackson自动将返回值封装成JSON对象,比struts2方便了很多 91 Map
map = new HashMap
(); 92 int randNumber = (int)(1+Math.random()*(10000000-56785+1)); 93 itemsCustom.setId(randNumber); 94 //itemsCustom.setPic("abc.jpg"); 95 String orgPicName = items_pic.getOriginalFilename(); 96 //存在图片路径 97 String picPath= "h:\\web_upload\\"; 98 if (orgPicName!=null && picPath!=null && orgPicName.length()>0) { 99 //新文件名100 String newFileName = UUID.randomUUID() + orgPicName.substring(orgPicName.lastIndexOf("."));101 File newFile = new File(picPath+newFileName);102 //将内存中的数据写入磁盘103 items_pic.transferTo(newFile);104 itemsCustom.setPic(newFileName);105 }106 107 try {108 itemsService.addItems(itemsCustom);109 map.put("mes", "操作成功");110 } catch (Exception e) {111 e.printStackTrace();112 map.put("mes", "操作失败");113 throw e;114 }115 return map; 116 }117 118 119 @RequestMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET})120 //@RequestParam里边指定request传入参数名称和形参进行绑定。121 //通过required属性指定参数是否必须要传入122 //通过defaultValue可以设置默认值,如果id参数没有传入,将默认值和形参绑定。123 public String editItems(Model model,@RequestParam(value="id",required=true) Integer items_id)throws Exception {124 125 //调用service根据商品id查询商品信息126 ItemsCustom itemsCustom = itemsService.findItemsById(items_id);127 /* if (itemsCustom==null) {128 throw new CustomException("修改的商品信息不存在!");129 }*/130 131 //通过形参中的model将model数据传到页面132 //相当于modelAndView.addObject方法133 model.addAttribute("items", itemsCustom);134 135 return "items/editItems";136 }137 138 //商品信息修改提交,及校验139 //在需要校验的POJO前面加@Validated,后面添加BindingResult接收校验输出的错误信息140 //注意:@Validated和BindingResult bindingResult 是配对出现,并且形参顺序是固定的(一前一后)141 //value= {ValidGroup1.class})指定使用分组1的校验142 //143 @RequestMapping("/editItemsSubmit")144 public String editItemsSubmit(Model model,145 HttpServletRequest request,146 String pic,147 Integer id,148 @Validated(value= {ValidGroup1.class}) ItemsCustom itemsCustom,149 BindingResult bindingResult,150 MultipartFile items_pic //接收商品图片151 )throws Exception {152 153 //获取校验错误信息154 if (bindingResult.hasErrors()) {155 // 输出错误信息156 List
allErrors = bindingResult.getAllErrors();157 158 for (ObjectError objectError : allErrors) {159 // 输出错误信息160 System.out.println(objectError.getDefaultMessage());161 162 }163 // 将错误信息传到页面164 model.addAttribute("allErrors", allErrors);165 166 167 //可以直接使用model将提交pojo回显到页面168 model.addAttribute("items", itemsCustom);169 170 // 出错重新到商品修改页面171 return "items/editItems";172 }else {173 //上传图片174 String originalFilename = items_pic.getOriginalFilename();175 //存储图片的物理路径176 String pic_path = "h:\\web_upload\\";177 //原文件名称 178 179 System.out.println("==================================================");180 System.out.println(pic);181 String oldFileName = pic;182 if (items_pic!=null && originalFilename!=null && originalFilename.length()>0 ) {183 184 185 //新的图片名称186 String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));187 //新图片188 File newFile = new File(pic_path+newFileName);189 190 //将内存中的数据写入磁盘191 items_pic.transferTo(newFile);192 oldFileName = newFileName;193 194 }195 //将新图片名称写到itemsCustom中196 itemsCustom.setPic(oldFileName);197 //如果正确,执行更新操作。198 itemsService.updateItems(id, itemsCustom);199 200 return "forward:queryItems.action";201 202 }203 }204 //商品批量删除205 @RequestMapping("deleteItems")206 public String deleteItems(Integer[] items_id) throws Exception{207 208 for (int i:items_id) {209 itemsService.deleteItems(i);210 211 }212 return "success";213 214 }215 216 //商品批量修改217 @RequestMapping("editItemsQuery")218 public ModelAndView editItemsQuery(HttpServletRequest request,ItemsQueryVo itemsQueryVo) throws Exception{219 220 221 // 调用service查找 数据库,查询商品列表222 List
itemsList = itemsService.findItemsList(itemsQueryVo);223 224 // 返回ModelAndView225 ModelAndView modelAndView = new ModelAndView();226 // 相当 于request的setAttribut,在jsp页面中通过itemsList取数据227 modelAndView.addObject("itemsList", itemsList);228 229 // 指定视图230 // 下边的路径,如果在视图解析器中配置jsp路径的前缀和jsp路径的后缀,修改为231 // modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");232 // 上边的路径配置可以不在程序中指定jsp路径的前缀和jsp路径的后缀233 modelAndView.setViewName("items/editItemsQuery");234 235 return modelAndView;236 }237 238 //批量商品修改提交239 //通过ItemsQueryVo接收批量提交的信息,将商品信息存储到itemsQueryVo中itemsList属性中240 @RequestMapping("/editItemsAllSubmit")241 public String editItemsAllSubmit(ItemsQueryVo itemsQueryVo) throws Exception{242 243 return "success";244 }245 246 //查询商品信息,输出json247 ///itemsView/{id}中的 {id},表示将这个位置的参数传到@PathVariable指定的名称变量中;248 @RequestMapping("/itemsView/{id}")249 250 public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception{251 ItemsCustom itemsCustom = itemsService.findItemsById(id);252 return itemsCustom;253 }254 255 256 // 商品查询输入到easy ui 257 @RequestMapping("/queryItemsMap")258 @ResponseBody259 //@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口260 //将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。 261 public Map
queryItemsMap(HttpServletRequest request,ItemsQueryVo itemsQueryVo) throws Exception {262 //测试forward后request是否可以共享 263 // 调用service查找 数据库,查询商品列表264 List
itemsList = itemsService.findItemsList(itemsQueryVo);265 266 Map
itemsMap = new HashMap
();267 itemsMap.put("total",13);268 itemsMap.put("rows",itemsList);269 270 return itemsMap;271 272 }273 274 275 @RequestMapping("list") 276 public String list() throws Exception {277 278 return "items/itemsEasyUi";279 } 280 }

3、main.jsp

1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>  2 <%@include file="/taglibs.jsp" %>  3   4   5   6 lr信息综合管理平台   7       38  39  63  64     
65
66

当前用户:${username} 退出

67
68
69
70
76
77
81
82 content2 83
84
85 content2 86
87 88
89
90
google 91
jquery 92
easyui 93
94
95
96
97
98 99
100
101
欢迎使用
lr综合管理平台
102
103
104 105
106
107 Copyright © 2018-2020 lr股份有限公司 版权所有 108
109 110 111 112

4 index.jsp 登录页

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%> 5  6  7  8  9 
10 系统登录11 12 13 27 28 29 30 31
32
33

系统登录

34 <%35 HttpSession Session = request.getSession();36 String flag = null;37 flag = (String)Session.getAttribute("flag");38 if (flag!=null && flag=="false"){39 out.println(" 用户名或密码错误,请重新输入!
");40 session.removeAttribute("flag");41 } 42 43 %> 44
45 用户账号:
46 47 用户密码:
48
49
50 51
52

版权所有:LR股份有限公司

53
54 55 56

5 LoginController.java

1 package com.lr.controller; 2  3 import javax.servlet.http.HttpSession; 4  5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.stereotype.Controller; 7 import org.springframework.web.bind.annotation.RequestMapping; 8  9 import com.lr.common.StringUtil;10 import com.lr.po.LrUser;11 import com.lr.service.LoginService;12 13 /**14  * Filename:LoginController.java15  * Descript:登录退出16  * Parm:17  * Author:zhangsh18  * CreateDate:2018年3月5日 下午4:40:3919  * 20  */21 @Controller22 public class LoginController {23     24     @Autowired25     private LoginService loginService;26     27     //登录28     @RequestMapping("/login")29     public String login(HttpSession session,String username,String password) throws Exception{30         31         //调用service 进行用户身份验证32         //.....33 34         LrUser user = null;35         user = loginService.findUserByName(username);36         if (user==null ) {37             //不存在的用户;用户名或密码错误,设置session标记flag为false38             session.setAttribute("flag","false");            39             return "redirect:index.jsp";40         }41         String orgPassword ;42         orgPassword = user.getPassword();43         String userPwd = StringUtil.getSign(username) ;44         System.out.println(userPwd);45         if (orgPassword.equals(userPwd)) {46             //验证通过,转主页面47             session.setAttribute("username",username);48             return "pub/main";49         }else {50             //登录失败,返回重新登录,在缓存中加入false为了在登录页提醒;51             session.setAttribute("flag","false");52             return "redirect:index.jsp";53         }54     }55     56     //退出57     @RequestMapping("/logout")58     public String logout(HttpSession session) throws Exception{59         //清除session60         session.invalidate();61         return "redirect:index.jsp";62     }63 }

附:项目结构

 

转载于:https://www.cnblogs.com/lrzy/p/8708988.html

你可能感兴趣的文章
java.lang.outofmemoryerror android
查看>>
coding
查看>>
省市联级(DataReader绑定)
查看>>
20165219 课上内容补做
查看>>
Tomcat7.0与Oracle10数据库连接池配置
查看>>
解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题
查看>>
字节流与字符流的区别详解(转)
查看>>
类操作数据库
查看>>
找球号(一)
查看>>
oracle ebs 笔记
查看>>
Android studio使用git-android学习之旅(79)
查看>>
eclipse中去掉Js/javsscript报错信息
查看>>
网络中,FIFO、LRU、OPT这三种置换算法的缺页次数
查看>>
随机森林算法参数调优
查看>>
read命令读取用户输入
查看>>
Mysql编写定时任务事件
查看>>
路由器/交换机/集线器的区别收集(转)
查看>>
今日头条面试题汇总
查看>>
hdu 1305 Immediate Decodability
查看>>
基本数据类型
查看>>