- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jsp程序设计入门 沈泽刚、秦玉平 主编的java web 第二版 第06章 JSP标签技术
6.3.5 在标签中使用EL 在自定义标签的属性值中还可以使用EL表达式。 下面示例首先在ProductServlet中连接数据库查询products表中的指定商品,创建一个ArrayListProduct对象并存储在会话作用域中,最后将控制重定向到showProduct.jsp页面,在JSP页面中使用showProduct标签显示商品信息,并为其传递productList属性。 程序6.14 ProductServlet.java 程序6.15 ProductTag.java 6.3.5 在标签中使用EL 在TLD文件中使用下面代码定义showProduct标签。 tag nameshowProduct/name tag-classcom.mytag.ProductTag/tag-class body-contentscriptless/body-content attribute nameproductList/name requiredtrue/required rtexprvaluetrue/rtexprvalue /attribute /tag 6.3.5 在标签中使用EL 下面的JSP页面使用showProduct标签显示商品信息。 程序6.16 showProduct.jsp 6.3.6 使用动态属性 在简单标签中还可以处理动态属性。所谓动态属性(dynamic attribute),就是不需要在TLD文件中指定的属性。 要在简单标签中使用动态属性,标签处理类应该实现DynamicAttributes接口,该接口中只定义了一个名为setDynamicAttribute()的方法,它用来处理动态属性,格式为: 6.3.6 使用动态属性 public void setDynamicAttribute( String uri, String localName, Object value) throws JspException 参数uri表示属性的命名空间,如果属于默认命名空间,其值为null;参数localName表示要设置的动态属性名;value表示属性值。当标签声明允许接受动态属性,而传递的属性又没有在TLD中声明时将调用该方法。 6.3.6 使用动态属性 下面程序定义了一个带动态属性的标签处理类。在该类中创建了一个String对象output,对每个动态属性它将被setDynamicAttribute()更新。一旦结束读取属性,它将调用doTag(),把该String对象发送给JSP显示。 程序6.17 MathTag.java 6.3.6 使用动态属性 在TLD件的tag标签中,动态属性需要使用dynamic-attributes元素定义并将其值指定为true,如下所示。 tag namemathtag/name tag-classcom.mytag.MathTag/tag-class body-contentempty/body-content attribute namenum/name requiredtrue/required rtexprvaluetrue/rtexprvalue /attribute dynamic-attributestrue/dynamic-attributes /tag 6.3.6 使用动态属性 下面代码给出了如何在JSP中使用该标签。 程序6.18 mathTag.jsp body p动态属性的使用/p table border=1 demo:mathtag num=6 pow=2 min=4 max=8/ demo:mathtag num=${5*2} pow=2 / /table /body/html 6.3.7 编写协作标签 在标签的设计和开发中,通常一组标签协同工作,这些标签称为协作标签(cooperative tags)。 协作标签的一个最简单的例子是实现类似于Java编程语言提供的switch-case功能。来看下面三个标签:switch、case和default,它们可以用在JSP页面中,如下所示。 程序6.19 switchTag.jsp 6.3.7 编写协作标签 程序6.20 SwitchTag.java 程序6.21 CaseTag.java 程序6.22 DefaultTag.java 6.4 JSP标准标签库 由于使用自定义标签可能造成程序员对标签的重复
原创力文档


文档评论(0)