浏览 1926 次
锁定老帖子 主题:话说信息完整度那个bar
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-09
为了让用户完善自己的信息,都会用户提供一个显示条,显示当前用户信息完整情况 解决方式有两种: 前段css什么的控制 如下: <div class="PageMain mainMsg bottomMargin"> <p>信息完整度:<p><p class="progressBar"><strong style="left:${requestScope.degree};"></strong></p><p>${requestScope.degree}</p> </div> 后台要去遍历下每个字段的情况,决定degree的情况到底如何,在遍历的时候当然还可以调整一些字段的权重,我直接copy的代码 /**貌似下面这个bean.getCmpName()!=null&&!bean.getCmpName().equals("")不够简洁,直接"".equals(bean.getxxx)**/ public String countInfoFullDegree(Bean bean){ if(bean==null){ return "0%"; } int degree=0; if(bean.getCmpName()!=null&&!bean.getCmpName().equals("")){ degree+=10; } if(bean.getCmpType()!=null&&!bean.getCmpType().equals("")){ degree+=10; } if(bean.getCmpPhone()!=null&&!bean.getCmpPhone().equals("")){ degree+=10; } if(bean.getCmpFax()!=null&&!bean.getCmpFax().equals("")){ degree+=5; } if(bean.getCmpEmail()!=null&&!bean.getCmpEmail().equals("")){ degree+=10; } if(bean.getCmpArea()!=null&&!bean.getCmpArea().equals("")){ degree+=10; } if(bean.getCmpZip()!=null&&!bean.getCmpZip().equals("")){ degree+=5; } if(bean.getCmpIntro()!=null&&!bean.getCmpIntro().equals("")){ degree+=10; } if(bean.getCmpUrl()!=null&&!bean.getCmpUrl().equals("")){ degree+=10; } if(bean.getCmpPic()!=null&&!bean.getCmpPic().equals("default.jpg")){ degree+=10; } if(bean.getCmpArea()!=null&&!bean.getCmpArea().equals("")){ degree+=10; } return degree+"%"; } 问题也出现了---->>>>>> 每个用户查看信息都要在后台这么遍历字段,性能不好,方式也不好 改进方式-->>前段不是要显示所有用户信息么,没有的字段为空,那么写个js在前面判断不就可以了,后台也不需要那个恶心的if判断 此时,变化又出现了--->> 我们数据库里面有一张企业表,但是前台把这个表拆分了,分为企业基本信息,企业联系信息,企业详细信息 js的解决方式只是判断一个页面的字段,现在前面显示分为四个页面,但是信息完整度是以企业这张表来决定的,只能回归后台解决方式,但想想这个企业表字段那么多,后台不是要N个if判断,我勒个去,那不把人吓死 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-13
最后修改:2011-07-13
我的简单想法就是达到某个条件触发一下事件,事先定义好每个触发点需要加或减的百分比。
样式上直接使用百分比来控制黄色的宽度就OK了。 |
|
返回顶楼 | |
发表时间:2011-07-13
amcucn 写道 我的简单想法就是达到某个条件触发一下事件,事先定义好每个触发点需要加或减的百分比。
样式上直接使用百分比来控制黄色的宽度就OK了。 做法是这样的,但是触发的判断是放到前台还是后台? 一张表里面N个字段,势必带来N个if判断来加上权重 我的帖子里面已经写到了,最初我们放到后台,但是感觉不如用js判断放到前台还省性能 但放到前台时候,没想到一张表在前台展现数据做了拆分,js无法实现这种拆分的东西,然后又放到后台。 |
|
返回顶楼 | |