Struts2 OGNL中的投影(过滤) this
<s:property value="users.(?#this.age==1)"/> 对象
得到是一个User的对象的一个集合 开发
<s:property value="users.(?#this.age==1).{age}"/> 字符串
得到知足条件的这样一个集合中的age值;注意{age},花括号在OGNL中自己表明着 get
是一个集合 原型
<s:property value="users.(?#this.age==1)[0]"/> it
得到知足条件的这个集合的第一个元素 io
<s:property value="users.(^#this.age>1).{age}"/> 基础
得到大于一的集合的元素里面,开头一个age值的集合 软件
<s:property value="users.($#this.age>1).{age}"/>
得到大于一的集合的元素里面,结尾一个age值的集合
<s:property value="users.(^#this.age>1).{age} == null"/>
return false;
软件开发的思想:
采用迭代式的开发模型:首先构造出原型出来,在此基础上一点点的网上加。
在此基础上不断的迭代,应变需求的迭代,开发者的士气很大。
一、决绝使用else关键字:使用“卫语句”和他“提早返回”替代它————策略模式
基于多态,更清晰的表达代码的意图。
二、封装全部的原生类型和字符串
三、一行代码只是用一个"."导航
描述清楚代码的意图:The law of Demeter:只恨身边的朋友打交道。
四、不要使用缩写
一、项目范围增量(Scope burn-up):对于某期限时所需交付项目范围状况。
二、交付质量(Delivery quality):最终交付的项目情况。
三、预算燃尽(Budget burn-down)根据项目范围交付情况统计的预算使用状况
四、实际开发状态(Current State of implementation):已交付的系统功能状况
五、团队的感受(Team perception):团队对项目状态的见解.