关于前后端日期处理 开发注意事项 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;
});
}
}
});
}

 

posted @ 2018-08-26 22:27  liuwd  阅读(824)  评论(0编辑  收藏  举报