分享
 
 
 

JDeveloper10g预览版中使用JSTLSQL

王朝html/css/js·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

引言

您可能会很吃惊地发现 JDeveloper 10g 实际上包含了广泛流行的 JavaServer 页面标准标签库 (JSTL)。这意味着有可能在 JDeveloper 内直接灵活地使用 JSTL,而不需要您单独下载 JSTL 并安装到您的环境中。JDeveloper 10g 的可视化环境还使得使用 JSTL 变得轻而易举。

以下方法说明了如何在 JDeveloper 10g 的可视化开发环境中使用 JSTL SQL 标签。

JDeveloper 中的基础 JSTL SQL

在开始之前,首先务必从 OTN 下载 JDeveloper 10g 预览版。您还需要对数据库进行访问。在这个示例中将使用 Oracle 数据库,但您可以将任意适应 SQL92 的数据库和 JDeveloper 一起使用。

在 JDeveloper 中,创建一个新的应用程序工作区。File-New-General-Workspaces-Application Workspace。

您可以将您的应用程序命名为:"jstl_sql"。

程序包前缀也可以是 "jstl_sql" ― (非必需的)

设置 "Application Template" 为 "Custom Application [All Technologies]"。将创建单个项目(模型),这就是我们所需的全部,因为我们将不需要为这个示例创建基于 MCV 的应用程序。

一旦创建了工作区和启动项目,请创建一个新的 JSP。File-New-Web-Tier-JavaServer Pages-JSP Page。

可以将之命名为“jstl_fun.jsp”。

一旦创建了 JSP,请随便在页面顶部添加一个标题,如 "JSTL SQL FUN"。提示:使用工具条将文本设置位为 格式。

在右侧,您将需要在组件选项板中选择 "JSTL SQL"。(参见下面的红色箭头。)

现在我们可以开始将 JSTL SQL 标签拖放到 JSP 页面上。

利用 JSTL SQL,您可以通过将一个"SetDataSource" 标签拖放到您的页面上来定义一个新的基于页面的“数据源”。(红色箭头)

一旦它出现在页面上,您将可以在右下角的属性检查器 (Property Inspector) 中编辑它的属性。(蓝色箭头)

当您在属性检查器中单击 "dataSource" 时,您将注意到您能够单击一个按钮来定义一个新的连接或使用一个现有的连接。注意:JDeveloper 在“连接管理器”中集中管理所有的数据库连接。

如果您需要定义一个新的连接,请在 dataSource 对话框中单击 "New.."。

一旦定义了数据库连接信息,您将需要把 "var" 属性设为 "empds"。这是与数据源相连的变量名:

(注意:通过设置数据源,我们将已设置了用户、口令、url 等。作为一种选项,您也可以单独设置这些属性。)

应当指出的是直接在页面中定义数据源将仅用于原型构建或小型非安全性应用程序。对于生产应用程序,您一定要隐藏连接信息。这可以通过在 web.xml 中定义一个上下文参数来实现。这种引用也适用于 JDBC url 或一个现有的容器管理的 JNDI 数据源。配置 JNDI 数据库是容器所特有的,这超出了本文的范围,但在 web.xml 中引用数据源在 JDeveloper 中也可以很容易地实现。操作方法如下:

打开 web.xml "Settings..." 对话框。

然后为 javax.servlet.jsp.jstl.sql.dataSource 输入一个上下文参数。

在 value: 字段中,您可以输入一个 JDBC URL 或容器中定义的一个 JNDI 数据源。在本例中,我将只使用 JDBC。

现在我们已经说明了如何访问数据源,现在我们创建一个查询。为了实现这个目的,我们将一个 Query 标签拖放到页面上。在属性检查器中设置以下属性:

var: Emp

dataSource:${empds}

在查询标签的正文(标签右侧的一个白色的小方块)中,输入一个简单的查询:"select * from emp"。(注意:不要包含分号 ;)

(注意:标签容器在可视编辑器中用一个实心长方形显示。)

现在我们已经定义了数据,我们可以使用 JSTL Core 标签来显示数据了。在本例中,我们将使用 JSTL Core:"Foreach" 和 "Out" 标签。修改组件选项板,以显示 "JSTL Core" 标签。

拖放一个 "Foreach" 标签到页面上。按以下方式设置属性:

items: ${emp.columnNames}

var:columnName

在 Foreach 标签内,插入一个 "Out" 标签,并按以下方式进行设置:

value: ${columnName}

这时您应当能够进行测试了。运行 JSP,查看一个列的列表。(在导航器中右键单击 JSP,然后选择 "Run jstl_fun.jsp")

现在,让我们利用 JSTL 和 HTML 再增加一些代码来显示数据库表的全部内容。为此,您可以拷贝并将以下代码粘贴到您的 JSP 的源代码中。要访问您的 JSP 的源代码视图,请单击页底的 "Code" 标签。

现在拷贝并粘贴以下代码:(注意:这可能替换您现有的 Foreach 语句。)

<table border="1"

<%-- Get the column names for the header of the table --%

<c:forEach var="columnName" items="${emp.columnNames}"

<th<c:out value="${columnName}"/</th

</c:forEach

<%-- Get the value of each column while iterating over rows --%

<c:forEach var="row" items="${emp.rowsByIndex}"

<tr

<c:forEach var="column" items="${row}"

<td<c:out value="${column}"/</td

</c:forEach

</tr

</c:forEach

</table

一旦您将这些代码粘贴到了源代码中,单击 "Design" 标签,查在可视编辑器中是如何显示的。

保存并重新运行 JSP。您只需在浏览器中单击刷新来查看结果:

JDeveloper 中的 JSTL SQL 的更多例子

现在我们已经逐步说明了如何查询和显示数据,现在我们可以试验更高级的事务处理了。幸运的是,在 OTN 上已经有了一篇关于如何进行这些事务处理的教程。从 OTN 上查看原来的 JSTL SQL 示例。

为了试验本示例中的更高级的代码,请首先创建一个新的 JSP。

现在从旧的 JSTL SQL 示例中拷贝并粘贴示例代码。在运行代码之前,您将必须定制数据源属性。此外,您的用户帐号将需要创建权限。

页面在 JDeveloper 中应当表现为:

右键单击并运行新的 JSP,以查看它是否正常工作!

总结

正如您所看到的,利用 JSP 和 JSTL SQL 进行数据库开发在 JDeveloper 10g 的可视化开发环境中得到了大大地简化。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有