Java 实现用户资料完整度的前端显示(或根据填写资料自动评分)
前端使用 Bootstrap 的进度条组件显示百分比,后台读取权重并计算信息完整度,并将计算的结果返回给前端,供页面显示。
CSS
1 | <link href= "static/sc/css/bootstrap.min.css" rel= "stylesheet" > |
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <script src= "static/sc/js/jquery-1.9.1.js" ></script> <script src= "static/sc/js/bootstrap.min.js" ></script> <script language= "javascript" > $(function() { // 加载页面时,动态读取个人资料完整度 $.ajax({ async: false , url : 'getInfoDegree.do' , type : 'POST' , dataType : 'json' , data : {}, error : function(XmlHttpRequest, textStatus, errorThrown) { alert( "服务器错误:" + XmlHttpRequest.status + " " + XmlHttpRequest.statusText + '!' ); }, success : function(data) { if (!data) return ; if (data.flag == "true" ){ $( "#showSpan" ).html(data.degree); $( "#showBar" ).css( "width" , data.degree); $( "#showPercent" ).html(data.degree); } else if (data.flag == "false" ){ $( "#infodegree" ).html(data.desc); return false ; } } }); }); </script> |
DOM
1 2 3 4 5 6 7 |
<div class = "progress progress-striped" style= "width:210px;height:15px;" >
</div> <em id= "infodegree" ></em> |
后台
Java(部分代码)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /** * 根据权重计算资料完整度 * @param map * @return */ private String getInfoDegree(List<TScAcntProp> list) { int sum = 0 ; if (list.size() > 0 ) { // 遍历权重配置文件,获取权重 for ( int i = 0 ; i < list.size(); i++) { int degree = Integer.parseInt(CommonUtil.getProperty(list.get(i).getPLabelName())); sum += degree; } } // 返回计算后的权重 return sum + "%" ;//自动评分的话 就去掉%即可 |
配置文件
config.properties配置文件中存放的是表字段的所占权重。在config.properties里加入一下内容
channel.name=5channel.owner=5 channel.telphone=5 channel.man=5 channel.email=10 channel.pic=10 channel.earning=10 channel.pronum=10 channel.expnum=10 channel.way=10 channel.plan=10 channel.budget=10
|
本文原创,转载必追究版权。