|
是否为空或者为空字符串“”------这个可能是值判定
present:判定指定的对象是否存在-------这个可能是地址判定
对于没有在page,request,session,application中定义或者是没有分配内存空间(null值)的变量,这两个标记处理的方法是一致的,都会以为此变量不存在(notpresent)或者为空(empty)。而对于空字符串""值,他们的处理就不一样了,logic:present 标记以为空字符串仍旧是存在的,也就是说,只要是引用了一块内存空间的变量,logic:present 就会返回present ;而logic:empty则以为空字符串仍旧为空,由此得出,在logic:empty看来,变量不仅仅要引用一块内存空间,而且该地址空间的值不能为空字符串,否则都以为该变量为空,都会返回empty
2.logic:match和logic:notMatch
比较两字符串是否相等,可以比较字符串的开始的、结尾的或其中的某个部门。
location属性:指定从某个位置开始进行比较。
其它的属性有:name、property、scope、value、cookie、header、parameter。
下面的例子是检查浏览器类型:
[table=549px][tr][td]<logic:match header="User-Agent" value="Mozilla">
Mozilla!
</logic:match>
<logic:notMatch header="User-Agent" value="Mozilla">
Not Mozilla
</logic:notMatch>[/td][/tr][/table]
检查bean属性是否匹配"hello world"字符串:
[table=550px][tr][td]<logic:match name="bean" property="stringProperty" value="hello world">
Hello World!
</logic:match>
<logic:notMatch name="bean" property="stringProperty" value="hello world">
I'm so sad and lonely.
</logic:notMatch> [/td][/tr][/table]
检查名为"name"的哀求参数是否是"xyz"的子字符串,但是子字符串必需从"xyz"的索引位置1开始(也就是说子字符串必需是"y"或"yz"):
[table=551px][tr][td]<logic:match parameter="name" value="xyz" location="1">
The parameter name is a sub-string of the string xyz from index 1
</logic:match>[/td][/tr][/table] |
|