<condition>元素是<section>的一个子元素。如果该元素的条件计算是真,那么then部分将被执行,否则else将被执行。
如:
<condition> <or> <and> <if-has-permission permission="PROJECTMGR_ADMIN"/> <not><if-has-permission permission="PROJECTMGR_ROLE_ADMIN"/></not> </and> <and> <if-has-permission permission="PROJECTMGR_ROLE_ADMIN"/> <if-compare field="isMember" value="true" operator="equals"/> </and> <and> <if-has-permission permission="PROJECTMGR_VIEW"/> <not><if-has-permission permission="PROJECTMGR_ROLE_VIEW"/></not> <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/> </and> <and> <if-has-permission permission="PROJECTMGR_ROLE_VIEW"/> <if-compare field="isMember" value="true" operator="equals"/> <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/> </and> </or> </condition> <then> <field-to-result field="hasPermission"/> <return/> </then> <else> <property-to-field resource="ProjectMgrUiLabels" property="ProjectMgrNoAccessToProject" field="failMessage"/> <field-to-result field="failMessage"/> <field-to-result field="hasNoPermission" result-name="hasPermission"/> <return/> </else>

condition内部可以放12种条件语句。分别是:

4个逻辑语句:

<and> 

<xor> 

<or> 

<not> 

3个权限条件

<if-service-permission> 

<if-has-permission> 

<if-entity-permission> 

5个比较条件

<if-validate-method> 

<if-compare> 

<if-compare-field> 

<ifregexp> 

<if-empty>