SSM框架之批量增加示例(同步请求jsp视图解析)
发布时间:2020-12-15 07:11:49 所属栏目:Java 来源:网络整理
导读:准备环境:SSM框架+JDK8/JDK7+MySQL5.7+MAVEN3以上+Tomcat8/7应用服务器 示例说明: 分发给用户优惠券,通过checkbox选中批量分发,对应也就是批量增加。 对于公司使用freemarket或者jsp或者volocity,有一定的启示意思。 不论视图用的是jsp或者非jsp,都可以参
准备环境:SSM框架+JDK8/JDK7+MySQL5.7+MAVEN3以上+Tomcat8/7应用服务器 示例说明: 分发给用户优惠券,通过checkbox选中批量分发,对应也就是批量增加。 对于公司使用freemarket或者jsp或者volocity,有一定的启示意思。 不论视图用的是jsp或者非jsp,都可以参考这个示例。 下面采用的是MVC模式。 简单说下MVC模式吧 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
? ? ?下面的示例足以验证MVC,可供参考: jsp代码如下所示: <%@ page language="java contentTypetext/html; charset=UTF-8 pageEncodingUTF-8"%> @taglib urihttp://java.sun.com/jsp/jstl/core prefixc%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <htmlheadmeta http-equiv="Content-Type" content="text/html; charset=UTF-8"title>发放优惠券</link href="${APP_PATH}/css/main.css" type="text/css" rel="stylesheet"rel="stylesheet" href="${APP_PATH}/layui/css/layui.css" media="all"script src="${APP_PATH}/js/easyui/jquery-1.8.0.min.js" type="text/javascript"></script> body> div class="layui-container"> ="layui-row"h2> function checkAll() { var alldocument.getElementById('all);//获取到点击全选的那个复选框的id onedocument.getElementsByName(memberId获取到复选框的名称 if(all.checked==true){因为获得的是数组,所以要循环 为每一个checked赋值 for( i0;i<one.length;i++){ one[i].checked; } }else{ j;jone.length;j){ one[j].checkedfalse; } } } $((){ $(#tishi).click((){ alert(分发成功); }); }); > style="margin: 20px 0;"div="easyui-layout" style="width: 700px; height: 350px;"> div data-options="region:'center',title:'Main Title',iconCls:'icon-ok'"> form action="${pageContext.request.contextPath}/json" method="post" id="checkform"> table ="easyui-datagrid" data-options="url:'datagrid_data1.json',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true"> thead> tr> th ="field:'itemid'" width="80">昵称th="field:'productid'"="100">手机号="field:'listprice',align:'right'">操作c:if test="${list!=null}"c:forEach items="${list}" var="app"> td>${app.nickName}>${app.account}><input type="checkbox" name="memberId" value="${app.memberId}" /></c:forEachc:if> table> ="hidden"="hotelNo" id value="${hotelNo}"/> ="couponId"="couponId_to" readonly="readonly"="${couponId }" /> id="all" onclick="checkAll()"="checkbox" />全选 br input ="submit" id="tishi" onclick="提交" /> form> <!-- js --> ="${APP_PATH}/layui/layui.js" charset="utf-8"="${APP_PATH}/js/layer/layer-v3.1.1/layer/mobile/layer.js"> ? Controller代码: /** * 优惠券批量分发给用户 * @param qv * @return */ @RequestMapping(value = "json",method = {RequestMethod.POST }) public Object save(QueryVo qv,HttpServletRequest request,Model model){ String hotelNo = request.getParameter("hotelNo"); Hotel hotel = hotelService.queryHotelNoInfo(hotelNo); logger.info("优惠券Id:"+qv.getCouponId()); logger.info("所有数组:"+qv.getMemberId()); //判断是否为空 if (qv.getMemberId()!=null) { int size=java.lang.reflect.Array.getLength(qv.getMemberId()); 获取传过来的数组长度 System.out.println(size); String memberId[]=qv.getMemberId();获取数组中的值 String couponId=qv.getCouponId();获取优惠券ID for (int i = 0; i < memberId.length; i++) { AccountCoupon ac = new AccountCoupon(); ac.setMemberId(memberId[i]); ac.setCouponId(couponId); ac.setFrom(); SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); String date = sdf.format( Date()); ac.setReceiveDate(date); ac.setStatus(new Consts().COUPON_UNUSED);默认状态 "待使用" ac.setUsedDate(); List<AccountCoupon> list = new ArrayList<AccountCoupon>(); list.add(ac);添加到集合中 logger.info("批量分发优惠券成功"); accountCouponService.insertAccountCouponInfo(list);批量插入数据 } } model.addAttribute("hotel",hotel); return "/Set/transit4"; } ? 对应的DAO和Service及其实现类和xml如下: DAO和Service代码相同不变 批量插入数据 public void insertAccountCouponInfo(@Param("acs")List<AccountCoupon> acs); ? Service实现类如下: @Override void insertAccountCouponInfo(List<AccountCoupon> acs) { accountCouponMapper.insertAccountCouponInfo(acs); } ? xml: <!-- 批量發放优惠券 --> <insert id="insertAccountCouponInfo"> INSERT INTO `account_coupon` (`member_id`,`coupon_id`,`status`,`receive_date`,`from`,`used_date`) VALUES <foreach collection="acs" item="ac" index="index" separator=","> (#{ac.memberId,jdbcType=VARCHAR},#{ac.couponId,jdbcType=VARCHAR},#{ac.status,#{ac.receiveDate,#{ac.from,jdbcType=VARCHAR},#{ac.usedDate}) </foreach> </insert> ? 对应的实体如下: AccountCoupon { 自增主键*/ private String id; 用户id String memberId; 优惠券id String couponId; 状态 未领取0 待使用1 已使用2 已过期3 冻结4 已核销5 String status; 领取优惠券日期 String receiveDate; 优惠券来源发放或主动领取 String from; 使用日期 String usedDate; String getId() { return id; } void setId(String id) { this.id = String getMemberId() { memberId; } setMemberId(String memberId) { this.memberId = String getCouponId() { couponId; } setCouponId(String couponId) { this.couponId = String getStatus() { status; } setStatus(String status) { this.status = String getReceiveDate() { receiveDate; } setReceiveDate(String receiveDate) { this.receiveDate = String getFrom() { from; } setFrom(String from) { this.from = String getUsedDate() { usedDate; } setUsedDate(String usedDate) { this.usedDate = usedDate; } } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |