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>		
		
目录
相关文章
|
5天前
|
安全 数据安全/隐私保护 开发者
解读代码检查规则语言CodeNavi的表达式节点和属性
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解CodeNavi的表达式节点和属性,以及其在代码检查中的实际应用,提高代码质量和开发效率。
26 16
|
4月前
|
流计算 开发者 SEO
常用标签调用代码
这段内容介绍了DedeCMS内容管理系统中常用的标签调用代码,涵盖网站标题、描述、导航、文章列表及详情、SEO优化等多个方面。通过这些标签,用户可以轻松实现如网站首页标题和描述的调用、文章标题与内容展示、栏目导航生成、分页功能实现等功能,帮助网站开发者快速构建和管理网站内容。
62 0
|
Java API
想要精通Java8编程?学会Predicate接口,轻松搞定条件判断!
想要精通Java8编程?学会Predicate接口,轻松搞定条件判断!
80 0
|
8月前
修正flowable流程支持节点表单字段条件判断
修正flowable流程支持节点表单字段条件判断
120 0
|
Java API Spring
Spring判断方法名是符合给定的SPEL+表达式的+API
Spring判断方法名是符合给定的SPEL+表达式的+API
87 0
Thymeleaf ${}中的表达式本质是OGNL-分支与迭代-包含其他模板文件
Thymeleaf ${}中的表达式本质是OGNL-分支与迭代-包含其他模板文件
79 0
|
Java
Java基本语法(13)--条件分支switch-case结构
Java基本语法(13)--条件分支switch-case结构
162 1
Java基本语法(13)--条件分支switch-case结构
|
Java 应用服务中间件 Spring
自定义Filter后,我的业务代码怎么被执行了多次?
若要求构建的过滤器针对全局路径有效,且无任何特殊需求(主要针对 Servlet 3.0 的一些异步特性),则完全可直接使用 Filter 接口(或继承 Spring 对 Filter 接口的包装类 OncePerRequestFilter),并使用**@Component** 将其包装为 Spring 中的普通 Bean,也可达到预期需求。
174 0
|
Java Maven Ruby
去掉复杂的逻辑计算,get一下Aviator吧
去掉复杂的逻辑计算,get一下Aviator吧
551 0