话说信息完整度那个bar

故事场景:
为了让用户完善自己的信息,都会用户提供一个显示条,显示当前用户信息完整情况




解决方式有两种:


前段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判断,我勒个去,那不把人吓死

你可能感兴趣的:(Java综合)