Build a Bookmarkable Edit Page with JDeveloper 11g

Purpose

In this tutorial, you use Oracle JDeveloper 11g to build a web application that allows the bookmarking of URL. Based on a predefined application, you implement a functionality that enables to bookmark an edit page from a Browse / Edit type
of application. The data model uses Business Components. For the web client, Java Server Faces (JSF) is used. A browse page and an edit page are included in the user interface.

Time to Complete

20 minutes

Topics

The tutorial covers the following topics:

Overview
Scenario
Prerequisites
Explore
the Stratup Application

Prepare
the Browse Departments Page

Make
the Edit Page Bookmarkable

Run
the Bookmarkable Page

Summary

Viewing Screenshots

 Place
the cursor over this icon to load and view all the screenshots for this tutorial. (Caution: This action loads all screenshots simultaneously, so response time may be slow depending on your Internet connection.)

Note: Alternatively, you can place the cursor over an individual icon in the following steps to load and view only the screenshot associated with that step. You can hide an individual screenshot by clicking it.

Overview

The model is provided by business components, while the view and controller are provided by Java Server Faces.

The predefined application includes two pages, a Browse page and an Edit page. The Browse page provides the list of departments and allows you to select a department from the list to edit the department details. The Edit page displays the
department details.

The problem is that when the edit page is displayed for a specific department, the URL in the address is still referencing the entry point of the application (the Browse page). This default behavior stops from being able to bookmark the
Edit page reference.

Back
to Topic List

Scenario

In order to make the Edit page bookmarkable, you add an action listener to the Edit button of the Browse page. In the Edit page, you use a method defined in a managed bean and set the bookmark properties providing
the ability to to bookmark the record information based on the currentRowKeyString value.

Back
to Topic List

Prerequisites

Before starting any section of the tutorial, you should:

Download
the Required Components and Start JDeveloper 11g
Upload
the Startup Application
Create
a Database Connection

Back
to Topic Lis
t

Downloading the Required Components and Start JDeveloper 11g

In the following steps, you download JDeveloper 11g and other files required for this tutorial.

1.

Have access to or have installed Oracle JDeveloper 11g Production. You can download it from Oracle Technology Network.

2.

Have access to or have installed the Oracle Sample Schemas, included with the Oracle 10g or Oracle 11database.

The tutorial uses the HR schema. Specifically, the pages work with the DEPARTMENT and EMPLOYEES tables.

Instructions for installing the HR schema and creating a connection to it in JDeveloper are available online at:

http://www.oracle.com/technology/obe/obe11jdev/11/common/connection11g.htm

3.

Start JDeveloper by selecting Start > All Programs > Oracle WebLogic > JDeveloper Studio 11.1.1.0.0

4.

If the Migrate User Settings dialog box opens, click NO.

If prompted for a User Role, choose Default.

Close the Tip of the Day window.

5.

The JDeveloper IDE should now be displayed.

Back
to Topic

Back
to Topic Lis
t

Uploading the Starter Application

Before you create any component, you must first open the startup application. To do this, perform the following steps:

1.

Download the URL_Bookmark.zip file. Right click the following link and chooseSave Target As... from context to
download the URL_Bookmark.zip file on a local directory of your choice.

2.

Unzip the URL_Bookmark.zip file on a local directory of your choice (i.e. temp)

3.

From the Application Navigator, click the Open Application link.

Locate the workspace c:\temp\TaskFlowHandsOn\TaskFlowHandsOn.jws.

Click Open. If you are prompted to migrate the project, click Yes to confirm.

4.

The Application is loaded up in JDeveloper.

Back
to Topic

Back
to Topic Lis
t

Creating a Database Connection

You need to create a Database Connection to the HR schema. To do this, perform the following steps:

1.

From the Menu Bar, select View | Database Navigator.

2.

In the Database Navigator, right click TaskFlowHandsOn and select New Connection from context.

3.

In the Create Database Connection, enter the following values:

Connection Name HRConn
UserName hr
Password hr
Deploy Password checked
Driver thin
Host Name localhost
JDBC Port 1521
SID or Service Name ORCL/XE

4.

Click the Test Connection button.

If the database is available and the connection details are correct, you seeSuccess! in the Status window then click OK.

If an error occurs, verify the settings, make any changes necessary, and then retest the connection. If you still cannot connect, there may be a problem with the database, or it may not be running.

5.

In the Application Navigator, expand the Connections and Database nodes in the Application Resources panel to see the HR connection you just created. You can expand the HRConn node to view the database objects.

Back
to Topic

Back
to Topic Lis
t

Exploring the Startup Application

The startup application uses Departments and Employees entity objects and their corresponding view objects.

1.

Open the Application Navigator and expand the Model project nodes. Notice the existing Entities, Views, Links objects and the AppModule.

The model project contains all the necessary components needed for the application.

2.

Prior to test the module in the Business Component tester, right click the AppModulenode and select Configurations from context.

3.

In the Manage Configurations dialog, select the AppModuleLocal and click Edit.

4.

In the Edit Business Components Configuration dialog, for the AppModuleLocal, select the Connection Type to JDBC URL and the Connection Name to HRConn.

Click OK, then OK again.

5.

in the Application Navigator, right-click AppModule and choose Run.

6.

In the Business Component Configuration dialog, click Connect.

Wait for the Browser window to open.

7.

In the Oracle Business Component Browser, double-click DepartmentsView1.

8.

Use the navigation buttons to browse through the Departments.

9.

Close the Business Component Browser window.

10.

Expand the ViewController project nodes. Double click Web Content | Page Flows | adfc-config node to open the page flow diagram.

11.

The page flow display, showing two pages. A BrowseDepartments page and anEditDepartment page.

12.

Right click the BrowseDepartments page and select Run from context.

13.

In the Set Run Configuration dialog, click OK to accept Default.

14.

Examine the URL displayed in the Browser.

15.

Select any department from the list and click the Edit Departments button.

16.

The corresponding department detail info are displayed.

Notice that the URL in the address field of your browser is the same as the BrowseDepartments page one, stopping you from being able to bookmark this specific department details page:

17. Close you browser window. In the following sections, you see how to have the edit page keep track of the selected department.

Back
to Topic List

Preparing the BrowseDepartments Page

To be able to provide bookmarkable information about the selected department in the browse page, you add an action listener that holds the referenced department based on the currentRowKeyString property.
To do this, perform the following steps:

1.

Back into JDeveloper within the page flow, double click theBrowseDepartments icon to open the page.

2.

The BrowseDepartments page opens in the editor.

3.

Select the Edit Departments button to display its properties.

4.

The Property Inspector shows an Action mapped to the edit control flow. We need to create an action listener to the Edit Departments button.

5.

Select the Set Action Listener from the ADF Faces Operations and drop it onto the Edit Departments button.

 

6.

In the Insert Set Action Listener dialog, next to the From field, selectExpression Builder from the down arrow.

7.

In the Expression Builder dialog, expand ADF Bindings | bindings | DepartmentView1Iterator and select currentRowKeyString.

Click OK.

8. Back to the dialog, type the following in the To field: #{pageFlowScope.rowKey}.

Select the content of the To field and copy it (Ctrl + C) to the clipboard (we will need it later on).

Click OK.

9.

The properties for the Set Action Listener should look like this:

Back
to Topic List

Making the Edit Page Bookmarkable

Pages have bookmark properties allowing you to propagate into the URL of the linked page the reference of the current row. For this purpose we use a managed bean holding the current row value. To do this, perform the following steps:

1.

Open the Diagram view of the page flow and select the EditDepartment page to view the page properties.

2.

In the Property Inspector, select the Bookmark tab and set the bookmark property to true and click the Add button  to
create a bookmark URL parameter.

3.

For the bookmark URL parameter type rowKey as the name and paste the content of the clipboard in the value field: #{pageFlowScope.rowKey}.

4.

Next to the method field, click the down arrow and select the Expression Builder option.

5.

In the Expression Builder dialog, expand ADF Managed Beans | pageFlowScope | BookmarkHandler nodes and select handleBookMarkRequest.

Click OK.

6.

To review the content of the managed bean that was created in the predefined application, in the Application Navigator, double click the BookmarkHandler.java to open the java class.

7.

The handleBookMarkRequest method displays in the editor.

8.

Click the EditDepartment.jspx tab to open the page in the editor.

9.

Right click in the EditDepartment page and select Go to Page Definition from context.

10.

Click the EditDepartment.jspx tab to open the page in the editor.

11.

Using the Structure pane for the page definition, right click the bindings node and from context select Insert inside bindings --> Generic Bindings --> action.

12.

In the Create Action Bindings dialog, in the Select an Iterator field selectDepartmentsView1Iterator and in the Operation choose setCurrentRowWithKey.

In the Parameters section, paste the content of the clipboard in the value field #{pageFlowScope.rowKey}.

Click OK.

13.

Now, the page definition should look like this:

and the Structure window...

14.

Click the save all  icon
to save the application.

Back
to Topic List

Running the Application and Bookmarking the Edit Page

You now use JDeveloper's JSF Navigation Modeler to diagrammatically plan and create your application's pages, and the navigation between them.

1.

Open the page flow diagram by clicking the adfc-config.xml tab.

2.

Right click the BrowseDepartments page and select Run from context.

3.

The page loads up in your browser. Notice the URL in the address bar.

4.

Select a department from the list and click the Edit Departments button.

5.

The corresponding department details display.

Notice the URL now displayed in the address bar.

6.

Using your browser menu bar, bookmark the page.

Select a location folder for your bookmark.

Close your browser.

7.

Open a new browser window, and select the bookmark you just saved.

8.

The browser returns the page corresponding to the department number you bookmarked.

11. You can close your browser window.

Back
to Topic List

Summary

In this tutorial, you learned how to:

Prepare the Browse Department Page
Make the Edit Page Bookmarkable
Test the Bookmark Functionality

Back
to Topic List

 Place
the cursor over this icon to hide all screenshots.


Bookmarkable Pages的更多相关文章

  1. 用Github pages搭建自己制作的网页,方法最简单,适用于新手

    本文固定链接http://blog.csdn.net/pspgbhu/article/details/51205264 本人自学前端一个多月,写个几个网页想要用来应聘,网上搜各种搭建网站的方法,发现不 ...

  2. Github pages + jekyll 博客快速搭建

    Github pages + jekyll 博客快速搭建 寻找喜欢的模版 https://github.com/jekyll/jekyll/wiki/sites http://jekyllthemes ...

  3. Github Pages和Hexo创建静态博客网站

    Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...

  4. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  5. 利用github pages创建简单的网站

    github.com 作为最流行的源代码管理工具已经风靡全球,同时在依托于github也衍生出了各种各样的应用,比如可以利用github搭建博客系统等等. 先换个话题,我们每人手头都或多或少有些&qu ...

  6. 使用ASP.NET Web API Help Pages 创建在线接口文档

    操作步骤 1.新建Web API项目 2.在项目Areas文件夹下找到以下文件,取消注释图中代码. 3.右键解决方案,属性,如图设置. 4.运行程序,点击右上角API 接口列表: 详情-无参数: 详情 ...

  7. 用GitHub Pages搭了个静态博客

    经过周末两天折腾,终于在GitHub Pages上用Hugo搭了个静态博客. 链接:https://xusiwei.github.io/ @ruanyf 曾经在博客里提到过"喜欢写Blog的 ...

  8. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  9. 回发或回调参数无效。在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证

    WebForm中回发或回调参数无效问题的解决 解决 .NET中回发或回调参数无效问题的解 该错误的详细提示信息为: 回发或回调参数无效.在配置中使用 <pages enableEventVali ...

随机推荐

  1. 微信小程序基础之创建使用教程

    本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志. 1. 获取 ...

  2. CSDN发表文章后老是待审核的原因

    最近开始在csdn上写文章,发现老是文章被 待审核 ,于是便在网上搜集了下网友们的反馈,最后做出以下的整理. 1.CSDN检测到文章中的链接大于5,就会将文章列为"待审核",这个其 ...

  3. 【移动开发】 Android隐藏输入法软键盘的一些说明

    刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法 ...

  4. Android状态栏透明(沉浸式效果)

    Android状态栏透明(沉浸式效果) 默认效果 沉浸式效果 方式一 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q487880 ...

  5. shape图形的使用

    shape图形的使用 在项目中如果用到有规律的常规的图形,在能够掌握的前提下建议使用shape图形,shape图形相对与图片来说,占用资源更小,并且使用起来不会失真. 效果图 shape图形1 < ...

  6. java中的interface接口

    接口:java接口是一些方法表征的集合,但是却不会在接口里实现具体的方法. java接口的特点如下: 1.java接口不能被实例化 2.java接口中声明的成员自动被设置为public,所以不存在pr ...

  7. MTK8127源码编译出现的错误及相关解决办法

    /** * date:2016/8/17 * author: Y.X .YANG */ 按照开发文档提示: 1.MTK提供的开发包目录下有若干个.aa .ab .ac ...的分压缩包.此时应当将这些 ...

  8. 非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名

    非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名 最近自家的系统要做一个升级服务,里面有三个功能,第一个是系统升级,也就是 ...

  9. UNIX网络编程——非阻塞式I/O(套接字)

    套接字的默认状态是阻塞的.这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待相应的操作完成.可能阻塞的套接字调用可分为以下4类: (1)输入操作,包括read,readv,rec ...

  10. Docker教程:使用docker配置python开发环境

    http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...