当前位置: 首页 > 工具软件 > bboss-http > 使用案例 >

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

阴宏爽
2023-12-01
采用bboss逻辑标签可以非常容易地实现if-else以及if-else if-else条件判断功能,相关的标签为case,other,yes,no以及其它[url=http://yin-bp.iteye.com/blog/1137674]bboss逻辑标签[/url]。本文以两个简单的示例来说明上述功能。

[size=x-large][b]一、if-else功能[/b][/size]

相等的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,很坏!");
}


[size=x-large][b]二、if-elseif-else功能[/b][/size]
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>
 类似资料: