网站大量收购独家精品文档,联系QQ:2885784924

logic标签库..doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
logic标签库.

C.4 Logic标签库 Logic标签库提供条件处理、循环以及流控制的标签。 条件处理:equal/notEqual,empty/notEmpty,greaterEqual/lessEqual/greaterThan/ lessThan,match/notMatch,messagesPresent/messagesNotPresent以及present/ notPresent。 循环:iterate标签。 流控制:forward和redirect标签。 所有这些标签,除了涉及到流控制的那两个,都有JSTL对应物,所以应该尽可能地使用JSTL版本。 C.4.1 公共属性集Logic标签库,有两个公共的属性集。第一个,我们称做基础对象属性集(base- attrs),列于表C-11中,以及属于对应的标签所适用于的JavaBean对象。 表C-11 base-attrs属性集 属性名称 用 法 name 基础对象的名称。如果这个属性被忽略,那么隐含的基础对象(如果有)会被使用。如果该标签被包围在一个html:form中,隐含的基础对象将是与该表单关联的表单bean property 基础对象上的属性,其值被用于标签的功能。例如标签是一个比较标签,那么基础对象上的属性的值便被用于比较。这假定基础对象上有一个对应的getXXX()函数 scope 表示一个作用域,将在其上根据给定的name属性查找对象。如果scope没有被声明,那么要根据name 属性指定的名称查找所有作用域。有效的作用域是page、request、session和application 一些标签允许使用来自其他来源的值(也就是说,除了基础对象上的属性之外)来完成它们的工作。这些扩展Property属性(expropattrs)C-12中。 表C-12 exprop-attrs属性集 属性名称 用 法 cookie 要使用的cookie的名称 header 要使用的HTTP请求头变量的名称。该名称的匹配是忽略大小写的 parameter 要使用的URL请求参数的名称。如果不只一个,将使用第一个 C.4.2 选择器属性 Logic库中的许多标签都使用选择器属性。这些属性被用于选择对象或属性来执行该标签的功能。选择器属性是cooki、header、name/property和parameter。 Struts将按这个次序询问这些属性。例如,如果指定了cookie和parameter,只有cookie属性被用于执行该标签的任务。 注意,name/property属性在这里被视做一对。也就是说如果指定了name,可以同时可选地指定property属性。如果它们的作用是选择器属性的话,不能仅仅单独指定property,必须同时指定name。可以参考每个标签的说明文档来区分是否是这种情况。 C.4.3 针对Logic标签库的Struts-EL标签 EL使能的版本:forward、iterate、match/notMatch、messages- Present/messagesNotPresent、present/notPresent以及redirect。其他标签具有更简单的JSTL对应物。 注意 EL使能的标签是指那些允许使用EL表达式的标签。参看第10章的例子。 C.4.4 empty/notEmpty empty将在指定的属性或基础对象为null的时候,即一个零长度字符串,或一个空的集合或Map的时候,有条件地执行它的标签体。如果property属性没有被指定,测试将基于name属性给定的基础对象进行。 notEmpty是empty的逆命题。 1. 使用限制 name属性必须指定,即使嵌套在一个html:form内部。 2. 属性 只有base-attrs属性集适用。 3. 示例 以下例子展示了如果MyCollection是空的,将使用logic:empty标签来有条件地处理嵌套的bean:write标签。 下一个例子说明了property属性的使用: bean:write只有当getEmail()函数返回null,或一个零长度字符串时才会被执行。还可以使用作用域变量来指定在其中查找bean的作用域: 在前面的例子中,如果MyBean可以在请求作用域中找到,bean:write将在基础对象之上被调用。 4. 对应物 可以轻易地使用JSTL的c:if或c:choose... c:when来创建empty和notEmpty的对应物。例如使用c:if,前面的例子将成为: 和 必须使用JSTL隐含的对象(requestScopesessionScope等): C.4.5 equal/no

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档