bboss逻辑标签实现if-else以及if-else if-else条件判断功能介绍

简介: 采用bboss逻辑标签可以非常容易地实现if-else以及if-else if-else条件判断功能,相关的标签为case,other,yes,no以及其它bboss逻辑标签。本文以两个简单的示例来说明上述功能。
采用bboss逻辑标签可以非常容易地实现if-else以及if-else if-else条件判断功能,相关的标签为case,other,yes,no以及其它 bboss逻辑标签。本文以两个简单的示例来说明上述功能。

一、if-else功能

相等的if-else条件判断:
<pg:equal actual="false" value="true" evalbody="true" >
		
			<pg:yes>
				yes,很好!
			</pg:yes>
			<pg:no>
				no,很坏!
			</pg:no>
		</pg:equal>

上述代码与下面代码段功能等价,区别是采用yes/no相结合的模式性能更好:

<pg:equal actual="false" value="true"  >
				yes,很好!
		</pg:equal>
<pg:notequal actual="false" value="true"  >
				no,很坏!
		</pg:notequal>

对比简单的相等匹配代码:
<pg:equal actual="false" value="true"  >
				yes,很好!
		</pg:equal>

这段简单的代码说明equal标签比较结果为true时直接执行equal标签体中的内容,否则不执行;而if-else判断功能时,equal标签指定了evalbody="true"属性,指示equal标签强制执行标签体语句,然后通过yes和no标签组合实现if-else功能,当比较结果为true时,执行yes标签体中内容,否则执行no标签中的内容。
上面的功能java中实现的写法:
if(false == true)
{
   System.out.println("yes,很好!");
}
else
{
    System.out.println("yes,很坏!");
}


不相等的if-else条件判断:

<pg:notequal actual="false" value="true" evalbody="true" >
		
			<pg:yes>
				yes,很好!
			</pg:yes>
			<pg:no>
				no,很坏!
			</pg:no>
		</pg:notequal>

bboss所有的逻辑标签都可以使用evalbody属性,从而实现相应的if-else功能。

colName属性的使用方法如下:
<pg:notequal colName="name" value="duoduo" evalbody="true" >
		
			<pg:yes>
				yes,很好!
			</pg:yes>
			<pg:no>
				no,很坏!
			</pg:no>
		</pg:notequal>

上面的功能java中实现的写法:
if(name !=null && !name.equals("duoduo"))
{
   System.out.println("yes,很好!");
}
else
{
    System.out.println("yes,很坏!");
}


二、if-elseif-else功能
3个简单的相等判断实例-actual直接指定需要判断的值:
<pg:case actual="1">
		
			<pg:equal value="1">
				yes,1!
			</pg:equal>
			<pg:equal value="2">
				yes,2!
			</pg:equal>
			<pg:other>
				yes,other!!
			</pg:other>
		</pg:case>
		
		<pg:case actual="2">
		
			<pg:equal value="1">
				yes,1!
			</pg:equal>
			<pg:equal value="2">
				yes,2!
			</pg:equal>
			<pg:other>
				yes,other!!
			</pg:other>
		</pg:case>
		
		<pg:case actual="3">
		
			<pg:equal value="1">
				yes,1!
			</pg:equal>
			<pg:equal value="2">
				yes,2!
			</pg:equal>
			<pg:other>
				yes,other!!
			</pg:other>
		</pg:case>

在case标签中可以内置其他所有逻辑标签,other标签放置在case的内嵌标签的最后面,当前面的标签都没有执行时,最终会执行other标签体重的内容。

看一个简单的cell colName的使用方法:
<pg:case colName="name">
		
			<pg:equal value="1">
				<pg:cell colName="firstName"/>
			</pg:equal>
			<pg:equal value="2">
				<pg:cell colName="secondName"/>
			</pg:equal>
			<pg:other>
				<pg:cell colName="otherName"/>
			</pg:other>
		</pg:case>		
		

上面的功能java中实现的写法:
if(name !=null && name.equals("1"))
{
    
}
else if(name !=null && name.equals("2"))
{
     
}
else 
{
    
}


在case标签中other标签是可选的,就好比if-elseif-else中最后的else是可选的一样,例如:
<pg:case colName="name">
		
			<pg:equal value="1">
				<pg:cell colName="firstName"/>
			</pg:equal>
			<pg:equal value="2">
				<pg:cell colName="secondName"/>
			</pg:equal>
			
		</pg:case>		
		
目录
相关文章
|
9月前
|
前端开发 Java 数据库连接
MyBatis查询优化:枚举在条件构建中的妙用
MyBatis查询优化:枚举在条件构建中的妙用
|
1月前
|
安全 数据安全/隐私保护 开发者
解读代码检查规则语言CodeNavi的表达式节点和属性
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解CodeNavi的表达式节点和属性,以及其在代码检查中的实际应用,提高代码质量和开发效率。
43 16
|
3月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
5月前
|
前端开发 JavaScript
前端基础(六)_流程控制语句(if、if-else、if-else嵌套、switch)
本文介绍了JavaScript中的流程控制语句,包括if、if-else、if-else嵌套和switch语句。
70 2
前端基础(六)_流程控制语句(if、if-else、if-else嵌套、switch)
|
6月前
|
Java 开发者
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案。本文通过技术综述及示例代码,剖析两者在性能上的差异。if-else具有短路特性,但条件增多时JVM会优化提升性能;switch则利用跳转表机制,在处理大量固定选项时表现出色。通过实验对比可见,switch在重复case值处理上通常更快。尽管如此,选择时还需兼顾代码的可读性和维护性。理解这些细节有助于开发者编写出既高效又优雅的Java代码。
88 2
|
9月前
修正flowable流程支持节点表单字段条件判断
修正flowable流程支持节点表单字段条件判断
132 0
|
9月前
|
存储 小程序 程序员
嵌套的方式构建
嵌套的方式构建
44 0
|
9月前
动态范围匹配逻辑实现
动态范围匹配逻辑实现
54 0
|
9月前
|
前端开发
简化 if true...else 条件表达式
简化 if true...else 条件表达式
Thymeleaf ${}中的表达式本质是OGNL-分支与迭代-包含其他模板文件
Thymeleaf ${}中的表达式本质是OGNL-分支与迭代-包含其他模板文件
83 0