关于前后端日期处理 开发注意事项 jquery.tmpl()函数的使用
1当后端将日期传到前段的时候 我们通常会需要将日期转为制定格式 除了平常我们使用的前段插件将日期转好 spring @datetimeFormat 注解 这些形式外 我们还可以在实体里通过get方法进行转换通过singleDateFormat对象将日期对象处理后 在前端${obj.属性}时候只要我们属性是我们get方法转化的那个get方法就可以实现后台到前端的展示
2 在开发注意的原则:新建、修改、删除操作后,要使用redirect方式转向的新页面,避免刷新页面导致页面重复提交,此时可能会导致一些控制状态数据错误,从而产生bug。
3 在使用的时候要多考虑 多想想 让我去掉项目地下的公司版本信息等 我做法去除了所有页的引用却没有考虑到新建一个footer.jsp 将原有的写成空 改一个文件就可以了
4 jquery tmpl() 函数收的是一个json数据 下面是一个弹出表单 展示数据的一个正确的使用方式
但是在这里还有一个值得思考的问题 让我在首页弹出之前判断ajax返回是否有值 如果有弹出表单没有就给一个alert弹出框提示 我第一次做的时候考虑返回调用layer.open弹出框将ajax与layer.open放在了同一个方法里,当ajxa返回值是空我也不能关掉弹出表单 后来技术总监说你将layer.open 封装一个函数用的时候调用 我才恍然大悟实现了应有的功能
<%--项目请款--%> <script type="text/x-jquery-tmpl" id="teamList"> <div class="content"> <ul class="listbox"> {{each(i,item) list}} <li> <a href="${base}/fundinvestproject/mainInvestDetail?id={{= item.id }}&state=2"> <div class="li_tit">{{= item.project.name}}</div> <div class="li_time">投资时间:{{= item.signTimeValue}}</div> <span class="li_lable">项目</span> </a> </li> {{/each}} </ul> </div> </script> /*项目请款*/ function teamLayerOpen(){ var index = layer.open({ type: 1, title: '请选择项目 ', skin: 'zjpopup', shadeClose: false, shade: [0.3, '#000'], resize: false, scrollbar: false, area: ['650px', '650px'], btn:['取消'], content: '<div id="select_team_fund"></div>', yes: function (index) { layer.close(index); } }); }; function teamList(id) { $.ajax({ type:'post', url:"${base}/project/getProjectByFundId", data:{"entity.fundId":id}, dataType:"json", success:function (data) { if(data != null && ""!=data ){ teamLayerOpen(); $("#teamList").tmpl({'list':data}).appendTo('#select_team_fund'); }else{ layer.confirm("暂无项目,是否创建项目?",['确定','取消'],function () { location.href="${base}/fundinvestproject/investlistByFundId?entity.fundId="+id; }); } } }); }