将现有 JSF 页面改为使用 ADF Faces

来源:百度文库 编辑:神马文学网 时间:2024/04/29 04:10:44
a) 导入 ADF Faces 标记库
ADF Faces 定义了两个标记库 — Core 和 HTML。Core 库包含 UI 组件:按钮、输入域、列表、菜单、表、树、面板以及许多其他组件。HTML 库包括几个标记,它们可用于生成 Web 页面的 、 和 标记以及其他与 HTML 相关的内容,如框架和表格。必须使用 <%@taglib%> 指令将这两个库导入到任何使用它们的页面中:
<%@ taglib prefix="af" uri="http://xmlns.oracle.com/adf/faces/EA13" %> <%@ taglib prefix="afh" uri="http://xmlns.oracle.com/adf/faces/EA13/html" %>
当您将 ADF Faces 组件添加到现有 JSF 页面(使用 Component Palette)时或者当您将 JSF 标记转换为 ADF Faces 标记(使用本节后面提到的 JDeveloper 的向导)时,Oracle JDeveloper 自动插入这两个 <%@taglib%> 指令。.
b) 使用 ADF Faces 的 HTML 标记
ADF Faces 的 标记生成相应的 HTML 元素以及其他一些内容,如文档的 元素和 ADF Faces 组件的样式表。以下是一个使用 ADF Faces 的典型 JSF 页面的模板:<br><%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %> <%@ taglib prefix="af" uri="http://xmlns.oracle.com/adf/faces/EA13" %> <%@ taglib prefix="afh" uri="http://xmlns.oracle.com/adf/faces/EA13/html" %> <f:view> <f:loadBundle var="labels" basename="..."/> <afh:html> <afh:head title="#{labels...}"/> <afh:body> ... </afh:body> </afh:html> </f:view><br>如果有必要,您可以在没有 ADF Faces 帮助的情况下在 JSF 页面中编写 <html>、<head> 和 <body> 标记,但这时您必须在 HTML 标题中包含一个 <af:styleSheet> 组件。<br>c) 重命名 JSF 标记以及它们的一些属性<br>ADF Faces 提供一组类似于标准 JSF 标记的标记以及很多在 JSF 中没有对应项的其他标记。您可以在同一页面中混合使用 JSF 和 ADF Faces 标记,这是因为所有 UI 组件都基于由 JSF 标准定义的同一个 API。在将 ADF Faces 添加到现有 JSF 应用程序时,您应该重命名那些在 ADF Faces 中具有对应项的 JSF 标记,以确保前后一致的观感并从其他特性(如客户端验证)中获益。ADF Faces 标记还帮助您减少代码的行数。例如,一个 ADF Faces 标记(如 <af:inputText>)就可以生成一个输入组件、一个标记和一个错误消息:<br><af:inputText id="email" required="true" validator="#{subscriber.emailValidator}" label="#{labels.email}" value="#{subscriber.email}" columns="40" maximumLength="80"> <f:validateLength minimum="1" maximum="80"/> </af:inputText><br>而对于 JSF,您需要三个标记(<h:outputLabel>、<h:message> 和 <h:inputText>)来达到同样的效果:<br><h:outputLabel for="email" value="#{labels.email}"/> <h:message for="email" styleClass="message"/><br> <h:inputText id="email" required="true" validator="#{subscriber.emailValidator}" value="#{subscriber.email}" size="40" maxlength="80"> <f:validateLength minimum="1" maximum="80"/> </h:inputText><br>请注意,<af:inputText> 标记可以用于显示单行、多行和口令域,而 JSF 为这些类型的组件提供了三种不同的标记:<h:inputText>、<h:inputTextarea> 和 <h:inputSecret>。ADF Faces 的 <af:inputText> 标记有两个名为 rows 和 secret 的属性,它们将确定域的类型。例如,您可以使用以下代码生成一个口令域:<br><af:inputText id="password" secret="true" required="true" label="#{labels.password}" value="#{subscriber.password}" columns="10" maximumLength="20"> <f:validateLength minimum="6" maximum="20"/> </af:inputText><br>ADF Faces 文档(参见“资源”)详细说明了 JSF 标记与其 ADF Faces 对应项之间存在的所有差别。在很多情况下,您只需将 h 前缀替换为 af,并可能要重命名一些属性。有时您还必须重命名标记。例如,您将使用 <af:goLink> 代替 <h:outputLink>,使用 <af:selectOneChoice> 代替 <h:selectOneMenu>:<br><af:selectOneChoice id="subscriptionType" label="#{labels.subscriptionType}" value="#{subscriber.subscriptionType}" required="true"> <f:validateLongRange minimum="1" maximum="3"/> <af:selectItem label="#{labels.daily}" value="#{subscriber.dailyConst}"/> <af:selectItem label="#{labels.weekly}" value="#{subscriber.weeklyConst}"/> <af:selectItem label="#{labels.monthly}" value="#{subscriber.monthlyConst}"/> </af:selectOneChoice></div> <div class="list-group"> <a href="/article/167071" class="list-group-item">将现有 JSF 页面改为使用 ADF Faces</a> <a href="/article/13600" class="list-group-item">Matrix - 与 Java 共舞 - 使用JSF(Java Server Faces)开发(二)</a> <a href="/article/13545" class="list-group-item">JSF (Java Server Faces) 开发指南 step by step</a> <a href="/article/168144" class="list-group-item">JSF中的javaScript的使用 JSF</a> <a href="/article/13573" class="list-group-item">Matrix - 与 Java 共舞 - [翻译]JSF(JavaServer Faces) 介绍(jsp/servlet 技术)</a> <a href="/article/1019285" class="list-group-item">将虚拟内存使用的页面文件设置到非系统分区可以提升系统性能</a> <a href="/article/1662542" class="list-group-item">第一次将临时巡视改为专门巡视</a> <a href="/article/421080" class="list-group-item">美政府将保留现有金融监管部门</a> <a href="/article/2268630" class="list-group-item">如何将输入法快捷键改为默认快捷键?|关于如何将输入法快捷键改为默认快捷键?问题</a> <a href="/article/167376" class="list-group-item">在JSF中使用Shale进行客户端验证</a> <a href="/article/512091" class="list-group-item">网站优化使用iframe嵌套另一页面</a> <a href="/article/774429" class="list-group-item">word 页面设置和节的使用</a> <a href="/article/1002867" class="list-group-item">建一个使用性较强的看盘页面</a> <a href="/article/2291926" class="list-group-item">QQ中转站提取页面详细使用</a> <a href="/article/1759241" class="list-group-item">俄罗斯惊讶:中国将老式潜艇改为巡航导弹试验平台</a> <a href="/article/1959718" class="list-group-item">学习如何将公式改为选股公式[转帖]</a> <a href="/article/2212197" class="list-group-item">centos 将 yum 源改为网易的镜像</a> <a href="/article/2760368" class="list-group-item">如何将指标公式改为选股公式</a> <a href="/article/2780439" class="list-group-item">将公式改为选股公式的简易方法</a> <a href="/article/1706491" class="list-group-item">如何将页面的字变大?</a> <a href="/article/54941" class="list-group-item">键盘革命!53键键盘将取代现有键盘?</a> <a href="/article/2185526" class="list-group-item">人民币升值之利弊adf</a> <a href="/article/167394" class="list-group-item">和JSF一起使用JSTL和其它的JSP定制标记</a> <a href="/article/176266" class="list-group-item">基于myFaces的JSF技术使用中的一些经验(一)乱码的处理 .</a> </div> </div> </div> </div> </div> </div> <footer id="footer" class="footer hidden-print"> <div class="container"> <div class="panel panel-default"> <div class="panel-heading">相关问题</div> <div class="panel-body"> <a class="btn btn-default" href="/article/2876073" title="成交量研究(8)">成交量研究(8)</a> <a class="btn btn-default" href="/article/2876074" title="中国名花古诗">中国名花古诗</a> <a class="btn btn-default" href="/article/2876075" title="中印发表联合公报 建立两国元首定期互访机制">中印发表联合公报 建立两国元首定期互访机制</a> <a class="btn btn-default" href="/article/2876076" title="女人老得快有十大原因!">女人老得快有十大原因!</a> <a class="btn btn-default" href="/article/2876077" title="七色心情">七色心情</a> <a class="btn btn-default" href="/article/2876078" title="给你一个故事">给你一个故事</a> <a class="btn btn-default" href="/article/2876079" title="这些常识,你们知道多少? - Qzone日志">这些常识,你们知道多少? - Qzone日志</a> <a class="btn btn-default" href="/article/2876080" title="电教实习(四)">电教实习(四)</a> <a class="btn btn-default" href="/article/2876081" title="长株潭城市群两型社会配套改革试">长株潭城市群两型社会配套改革试</a> <a class="btn btn-default" href="/article/2876082" title="腾讯专访德塞利:金球应给小白 梅西强过C罗">腾讯专访德塞利:金球应给小白 梅西强过C罗</a> <a class="btn btn-default" href="/article/2876083" title="50种咸菜腌制方法1">50种咸菜腌制方法1</a> <a class="btn btn-default" href="/article/2876084" title="装修后才知道的79件事,无数网友真金白银砸出来的经验 + 80张完成效果图 - Qzone...">装修后才知道的79件事,无数网友真金白银砸出来的经验 + 80张完成效果图 - Qzone...</a> <a class="btn btn-default" href="/article/2876085" title="做人低调是种智慧">做人低调是种智慧</a> <a class="btn btn-default" href="/article/2876086" title="因为你不喜欢我">因为你不喜欢我</a> <a class="btn btn-default" href="/article/2876087" title="中医“药王”孙思邈的13条养生长寿秘诀">中医“药王”孙思邈的13条养生长寿秘诀</a> <a class="btn btn-default" href="/article/2876088" title="外国吃惊:央视报道99式坦克强悍的生产力(图)">外国吃惊:央视报道99式坦克强悍的生产力(图)</a> <a class="btn btn-default" href="/article/2876089" title="射击年终综述:多人平破世界纪录 中国遇新挑战">射击年终综述:多人平破世界纪录 中国遇新挑战</a> <a class="btn btn-default" href="/article/2876090" title="40709020118 林权 第四天">40709020118 林权 第四天</a> <a class="btn btn-default" href="/article/2876091" title="[风景] 水天一色[40P大图]1">[风景] 水天一色[40P大图]1</a> <a class="btn btn-default" href="/article/2876092" title="毛泽东惊世语99句">毛泽东惊世语99句</a> <a class="btn btn-default" href="/article/2876093" title="英语不懂这些,还不如不会了">英语不懂这些,还不如不会了</a> <a class="btn btn-default" href="/article/2876094" title="男人一生的不老法则">男人一生的不老法则</a> <a class="btn btn-default" href="/article/2876095" title="喜欢这样一种忧伤">喜欢这样一种忧伤</a> <a class="btn btn-default" href="/article/2876096" title="简笔画课程41">简笔画课程41</a> <a class="btn btn-default" href="/article/2876097" title="为什么主力选择尾盘砸?">为什么主力选择尾盘砸?</a> <a class="btn btn-default" href="/article/2876098" title="2009年十大最新最可怕的骗局---">2009年十大最新最可怕的骗局---</a> <a class="btn btn-default" href="/article/2876099" title="[京]中国与巴基斯坦核合作给西方出难题">[京]中国与巴基斯坦核合作给西方出难题</a> <a class="btn btn-default" href="/article/2876100" title="第三次电教实验 牛向阳 40709020204">第三次电教实验 牛向阳 40709020204</a> <a class="btn btn-default" href="/article/2876101" title="成大事必备9种能力、9手段、9心态">成大事必备9种能力、9手段、9心态</a> <a class="btn btn-default" href="/article/2876102" title="一个时代的紫砂壶">一个时代的紫砂壶</a> <a class="btn btn-default" href="/article/2876103" title="钢筋全套知识0">钢筋全套知识0</a> </div> </div></div> <div class="copy-right"> <p>神马文学网,客观、专业、权威的知识性互动百科全书。</p></div> </footer> </body> </html>