当前页面: 开发资料首页 → J2EE 专题 → J2EE学习笔记(3) Struts Logic Tags
摘要: J2EE学习笔记(3) Struts Logic Tags
Logic Tags
语法应用是 --
<someComparisonTag value="someUserNameValue" cookie="userName"> (cookie specifies the name of the cookie to compare with value)
<someComparisonTag value="en_US" header="Accept-Language"> (header specifies the name of the HTTP header to compare with value)
<someComparisonTag value="someUserNameValue" parameter="username"> (parameter specifies the name of the request parameter to compare with value)
name指定了bean的名字而property指定了该bean的某个property以便于与value比较, 通常我们还可以加一个scope来限制bean
property is used in conjunction with name to specify a property in the bean specified by name. The property reference can be simple, nested, and/or indexed. For the type of syntax used for property, see the users guide on the Bean Tags.
scope specifies the bean scope which can be page, request, session, application, "any scope" (default)
1) 值比较 Value Comparison: equal, notEqual, greaterEqual, lessEqual, lessThan, greaterThan
比较逻辑是 -- 先试图convert成long double,并比较; 如果parse失败就会用String.equalTo()来比较
1) 值比较 Value Comparison: present, notPresent, empty, notEmpty
2) 子字符串匹配 Substring Matching: match, notMatch
match/notMatch 还有一个可选location来指定该substring必须出现在字符串开始还是结尾 (location="start/end")
3) Presentation Location: forward, redirect
用法尚不清楚
4) Collection Utilities: iterate (极常用)
如果property给定,name代表了一个bean的实例,而这个bean的getThatProperty()将返回此tag需要的collection实例,
如果没有给定property, name本身就指定了将被iterate的collection的实例,
id给出了每一次循环的collection的当前object的名字,用于在
offset和length指定了从collection的哪个位置开始,到哪里结束,其他请参见Struts Documentation,这里不详述