频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

了解 Oracle ADF:入门示例

来源: 作者: 出处:巧巧读书 2006-12-09 进入讨论组
上一页 1 2 3 4 5 6 7 8 下一页 

精华网络内容 :http://www.qqread.com/network/

 

第 2 阶段:创建初始视图

第 6 步:使用初始的 faces-config.xml 文件。在首次打开应用程序时,打开 Web Content/WEB-INF 文件夹和所创建的 faces-config.xml 文件。如果由于某种原因尚未创建配置文件,则右键单击 ViewController 项目并选择 New/Web Tier/JSF/JSF Page Flow & Configuration。faces-config.xml 的默认名称是正确的。如果您选择 Overview 选项卡,将看到配置文件的空白视图:

了解 Oracle ADF:入门示例(图四)

点击查看大图

    在 JSF 应用程序中,该视图是进入中央配置文件的重要窗口。除了一组描述用户如何在 Faces 应用程序中从一个页面转换到另一个页面的 XML 元素以外,还有用于 Bean 的元素,这些 Bean 包括在用户与界面控件(辅助 Bean)交互时调用其方法的 Bean,以及用于存储长久信息(如用户状态)的 Bean。

第 7 步:创建初始导航图和对应页面。(另请参阅 Oracle ADF 教程 3-2。)现在,需要一组初始页面(主要基于 SRDemo 中使用的页面模板),以及描述用户如何从一个页面转移到另一个页面的初始导航规则。选择针对 faces-confix.xml 文件的 Diagram 选项卡,确保 Configuration 选项板处于开启状态,然后将 JSF 页面拖到配置图上。此时,您已经在配置文件(而不是页面)中创建了一个导航元素。

    双击无标题页面图标,以启动一个将实际创建文件的向导。将名称更改为 index;将文件后缀更改为 jspx(Oracle 的普遍建议);确保系统没有自动公开该页面的 UI 组件;然后移动 ADF Faces 组件、JSF 内核、ADF Faces 和 JSF HTML 库。选择您喜欢的 HTML 版本 — 我们在 4.0.1 Transitional 版上运行良好。

    index.jspx 将重定向到应用程序的实际第一页,这是创建 Web 应用程序的标准做法。这可能会创造一个糟糕的先例,但可以在 Source 窗口中查找 index.jspx,并用以下 scriptlet 替换 f:view 标记。注意,您要创建一个目录结构来管理页面 — 管理涵盖所有应用程序的所有页面,而名为 campusaccounts 的子目录将用于保存该项目的所有页面。将 scriptlet 插入 index.jspx 文件之后,您就可以安全地保存并关闭该文件了。

<jsp:scriptlet>
      response.sendRedirect("faces/administration/welcome.jspx");
</jsp:scriptlet>

    从 Component 选项板中,将另一个 JSF 页拖到 faces-config.xml 图上。双击图标打开向导,以设置其 jsp 页面。将名称更改为 welcome,将文件类型更改为 jspx — 并确保设置目录,以创建您希望创建的任何子目录结构。例如,在本案例中,我们将目录设置为 ../public_html/administration,以便对应于 sendRedirect。移动选项应该与创建 index.jspx 时所使用的移动选项相同,HTML 版本也应该相同。

    将内容添加到 JSP 页面实际上就是在 Diagram、Property Editor 和 Structure 窗口之间切换。有时,您甚至可以通过 Source 窗口编辑页面。在 Structure 窗口中,打开 faces 视图元素并删除默认的 f:view 标记,以便能够使用包含面板页的以下文本替换它。面板页是一个复杂的 UI 控件,它包含页眉、页脚、用于选择帮助的全局控件以及版权部分等内容。在使用该页时,您将发现使用标准界面组件创建复杂页面是多么轻松。粘贴文本的最简单方法就是切换到 Source 窗口,并确保游标跟随文件开头的三个 jsp 标记。

<f:view>
    <f:loadBundle basename="edu.uwec.financial.resources.UIResources"
                  var="res"/>
    <af:document title="#{res['uacct.campusAccounts.title']}"
                 initialFocusId="start">
      <af:form>
        <af:panelPage>
          <!-- Page Content End -->
          <f:facet name="branding">
            <af:panelHorizontal>
              <af:objectImage source="/images/banner.jpg"/>
            </af:panelHorizontal>
          </f:facet>
          <f:facet name="menu1">
            <af:menuTabs var="menuTab" value="#{menuModel.model}">
              <f:facet name="nodeStamp">
                <af:commandMenuItem text="#{menuTab.label}"
                                    action="#{menuTab.getOutcome}"
                                    rendered="#{menuTab.shown and menuTab.type=='default'}"
                                    disabled="#{menuTab.readOnly}"/>
              </f:facet>
            </af:menuTabs>
          </f:facet>
          <f:facet name="menu2">
            <af:menuBar/>
          </f:facet>
          <f:facet name="menuGlobal">
            <af:menuButtons>
              <af:commandMenuItem text="#{res['uacct.menu.logout']}"
                                  action="GlobalLogout" immediate="true"
                                  icon="../images/blafIcons/logout.gif"/>
              <af:commandMenuItem text="#{res['uacct.menu.help']}"
                                  action="GlobalHelp" immediate="true"
                                  icon="../images/blafIcons/help.gif"/>
            </af:menuButtons>
          </f:facet>
          <f:facet name="messages">
            <af:messages/>
          </f:facet>
          <f:facet name="appCopyright">
            <!--Copyright msg-->
            <h:panelGroup>
              <af:objectSpacer width="10" height="10" id="objectSpacer4"/>
              <af:panelHorizontal halign="center">
                <af:outputText value="#{res['uacct.copyright']}"/>
              </af:panelHorizontal>
            </h:panelGroup>
          </f:facet>
          <f:facet name="appAbout">
            <!-- The About this Application Link-->
            <af:panelHorizontal halign="center">
              <af:commandLink text="#{res['uacct.about']}" action="GlobalAbout"
                              immediate="true"/>
            </af:panelHorizontal>
          </f:facet>
          <f:facet name="infoUser">
            <!-- Show the Logged in user -->
            <h:outputFormat value="#{res['uacct.connectedUser']}"
                            rendered="#{userInfo.authenticated}" escape="false">
              <f:param value="#{userInfo.userName}"/>
            </h:outputFormat>
          </f:facet>
        </af:panelPage>
      </af:form>
    </af:document>
  </f:view>
  

您将注意到 Structure 窗口中报告了错误,这些错误将在下一步中解决。

更多文章 更多内容请看Solaris基础知识入门Oracle 10g基础应用Oracle基础专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 7 8 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章