快速业务通道

怀疑论者的JSF: JSF组件开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

现在要做的全部工作就是创建一个 TLD(标记库描述符)文件,以登记定制标记,如清单 4 所示:

清单 4. 登记定制标记

[arcmind.tld] <taglib>   <tlib-version>0.03</tlib-version>   <jsp-version>1.2</jsp-version>   <short-name>arcmind</short-name>   <uri>http://arcmind.com/jsf/component/tags</uri>   <description>ArcMind tags</description>   <tag>     <name>slabel</name>     <tag-class>arcmind.simple.LabelTag</tag-class>     <attribute>      <name>label</name>      <description>The value of the label</description>     </attribute>   </tag> ...

一旦定义了 TLD 文件,就可以开始在 JSP 中使用标记了,如下面示例所示:

[test.jsp] <%@ taglib prefix="arcmind"      uri="http://arcmind.com/jsf/component/tags" %>        ...    <arcmind:slabel label="Form Test"/>

现在就可以了 —— 开发一个简单的 JSP 组件不需要更多了。但是如果想创建稍微复杂 一些的组件,针对更复杂的使用场景时该怎么办?请继续往下看。

复合组件

在下一个示例中,我将介绍如何创建这样一个组件(和标记),它可以记住最后一个人离 开的位置。Field 组件把多个组件的工作组合到一个组件中。复合组件是 JSF 组件开发的重 点,会节约大量时间!

Field 组件把标签、文本输入和消息功能组合到一个组件。Field 的文本输入功能允许用 户输入文本。如果有问题(例如输入不正确),它的标签功能会显示红色,还会显示星号(* )表示必需的字段。它的消息功能允许它在必要的时候写出出错消息。

Field 组件示例演示了以下内容:

UIInput 组件

处理值绑定和组件属性

解码来自请求参数的值

处理出错消息

与 Label 组件不同,Field 组件使用独立渲染器。如果为一个基于 HTML 的应用程序开 发组件,那么不要费力使用独立渲染器。这么做是额外的无用功。如果正在开发许多 JSF 组 件,打算卖给客户,而针对的客户又不止一个,那么就需要独立的渲染器了。简而言之,渲 染器适用于商业框架的开发人员,不适用于开发内部 Web 应用程序的应用程序开发人员。

怀疑论者的JSF: JSF组件开发(7)

时间:2011-04-11 IBM Rick Hightower

了解代码

由于我已经介绍了创建组件、定义渲染器以及创建定制标记的基本步骤,所以这次我让代 码自己说话,我只点出几个重要的细节。在清单 5 中,可以看到在典型的应用程序示例中如 何使用 Field 标记的:

清单 5. Field 标记

<f:view>   <h2>CD Form</h2>   <h:form id="cdForm">    <h:inputHidden id="rowIndex" value="#{CDManagerBean.rowIndex}" />      <arcmind:field id="title"               value="#{CDManagerBean.title}"               label="Title:"               errorStyleClass="errorText"               required="true" /> <br />      <arcmind:field id="artist"               value="#{CDManagerBean.artist}"               label="Artist:"               errorStyleClass="errorText"               requi

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号