Struts Logic标签库中的标签可以根据特定 逻辑条件来控制输出网页内容,或者循环遍历集合中的所有元素,大致分为:
进行比较运算的Logic标签
进行字符串匹配的Logic标签
判断指定内容是否存在的Logic标签
进行循环遍历的Logic标签
进行请求转发或重定向的Logic标签
进行比较运算的Logic标签
<logic:equal>:比较变量是否等于指定的常量。
<logic:notEqual>;比较变量是否不等于指定的常量
<logic:greaterEqual>;比较变量是否大于或等于指定的常量
<logic:greaterThan>;比较变量是否大于指定的常量
<logic:lessEqual>;比较变量是否小于或等于指定常量
<logci:lessThan>;比较变量是否小于指定常量
所有的比较运算标签都比较一个变量和指定常量的大小,比较运算标签的value属性指定常量值,可以通过以下方式来设置变量:
设置cookie属性,此时变量为cookie属性指定的Cookie值,例如:
<%
Cookie c = new Cookie("username", "Linda");
c.setComment("A test cookie");
c.setMaxAge(3600); //60 seconds times 60 minutes
response.addCookie(c);
%>
<logic:equal cookie="username" value="Linda" >
UserName in Cookie is Linda <p>
</logic:equal>
设置header属性,此时变量为header属性指定的HTTP请求中的Header信息,例如:
<logic:equal header="Accept-Language" value="zh-cn" >
Client’s language is: zh-cn. <p>
</logic:equal>
设置parameter属性,此时变量为parameter属性指定的请求参数值,例如:
<logic:greaterThan parameter="arg1" value="100" >
The first request parameter is greater than 100 <p>
</logic:greaterThan >
例如请求访问该jsp的URL为:http://localhost:8080/***.jsp>arg1=200就会输出标签主体的文本。
设置name属性,此时name属性指定被比较的变量,比较运算标签调用变量的toString()方法,获得被比较的字符串值,例如;
<%
request.setAttribute("intBean",new Integer(100));
%>
<logic:equal name="intBean" value="100" >
The value of intBean is "100".<p>
</logic:equal >
在默认情况下,将依次在page,request,session和application范围内寻找name属性指定的变量,此外,也可以通过scope属性来指定变量的存在范围。
同时设置name和property属性,此时name属性指定已经存在的JavaBean,property指定JavaBean的属性,被比较的变量为这个属性的值,例如:
<%
SomeBean bean=new SomeBean();
bean.setName("Linda");
request.setAttribute("someBean",bean);
%>
<logic:notEqual name="someBean" property="name" value="Tom" >
The name of someBean is not "Tom" <p>
</logic:notEqual >
如果两个字符串都可以成功转化为数字,就比较数字的大小,否则就进行字符串比较,例如;
<% request.setAttribute("number","100"); %>
<logic:equal name="number" value="/100.0" >
"100" equals "100.0" <p>
</logic:equal >
<logic:lessThan name="number" value="/100.0a" >
"100" is less than "100.0a" <p>
</logic:lessThan >
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/kucool/archive/2007/04/13/1563286.aspx