目录
请注意,这些 Java BluePrints 组件是随 IDE 一起提供的,它们可以帮助您了解 AJAX 并演示 AJAX 是如何与 Java Studio Creator 2 完美结合的。通过这些样例组件,您可以了解在将 AJAX 与 JavaServer Faces 配合使用时可能会带来哪些好处。请注意,这些组件可能会随着我们对您的建设性的反馈意见作出回应而发生变化。 BluePrints AJAX 组件概述
样例 Java BluePrints AJAX 组件更新包含以下组件:
自动完成文本字段:在用户键入内容时,使用 AJAX 请求来提供可单击的建议列表。
进度栏:使用 AJAX 请求为运行时间较长的操作更新进度显示。
功能丰富的文本区域编辑器:是一个包含工具栏的文本区域,用户可以使用该工具栏来应用与文字处理应用程序类似的格式(如粗体、斜体、项目符号等)。目前,最好将功能丰富的文本区域编辑器样例组件与 Firefox 配合使用,因为在 Internet Explorer 和 Safari 浏览器中无法正确显示其工具栏。
立即购买按钮:该按钮会启动单一订购 PayPal 交易并将付款信息发送到 PayPal Web 站点。
评级:是由一行星形符号组成,用于评定某一项的优劣级别。当用户为某一项评定了新的级别时,AJAX 请求会将该级别发送到服务器。
弹出式日历:提供一个弹出式日历,您可以从中选择日期。该组件允许用户输入日期,或者打开一个弹出式日历,您从中选择日期。
“试用”AJAX
让我们快速“试用”一下这些组件。 安装可以从 Java Studio Creator 更新中心来下载 BluePrints 样例 AJAX 组件。要启动更新中心向导,请首先启动 Java Studio Creator IDE,然后从主菜单栏的“工具”菜单中选择“更新中心”。如果您处于防火墙的保护下,则需要配置代理服务器。为此,请单击位于向导面板中间的“代理配置”按钮。连接到更新中心后,请按照向导中的说明进行操作,选择包含“BluePrints AJAX 组件”的更新,然后完成其余向导步骤。有关安装样例组件的详细信息,请参见教程下载 AJAX 组件并将其导入到 IDE 中。 要将该组件添加到组件面板中,请使用以下步骤将 complib 文件导入到 Java Studio Creator IDE 中:
导入组件库后,您会在组件面板底部看到两个新类别。 创建试验性的 Web 应用程序 首先,让我们创建一个包含评级组件的小应用程序,并在启用 HTTP 监视的情况下运行它(注意:2006 年 1 月开始提供的样例组件中不包含该组件。如果在组件面板上看不到评级组件,则需要重新更新。或者,如果愿意,请跳至下一类别)。要测试评级组件,请按照以下说明进行操作: 4. 将名为 5. 单击绿色箭头工具栏按钮以生成、部署项目并在浏览器中执行该项目。您会看到该评级组件的显示信息,如下所示。在浏览器中单击评级组件时,可以查看 HTTP 监视器的操作情况。要查看 HTTP 监视器,请将浏览器窗口缩小并将其放在显示区域的左侧。然后将 IDE 窗口移到浏览器的右侧。
6. 返回到 IDE 并检查 HTTP 监视器。现在,在浏览器中选择不同的星号评级。请注意,在每次单击某个星号评级时,即使未提交浏览器的页面,服务器也会收到新的 HTTP 请求。这是由于 AJAX 在发挥作用。在 IDE 的 HTTP 监视器中选择某个请求。请注意,发送到服务器的请求参数 除了在不提交页面的情况下将数据发送到服务器外,AJAX 还允许将数据从服务器返回到浏览器,并且只更新页面的一部分,而无需重新显示整个页面。接下来,我们将会看到这种情况。 创建样例应用程序
让我们通过构建一个样例应用程序来了解 AJAX 和 Creator 的更多内容。如果在构建过程中出现任何问题,请在论坛上给我们留言。
下面是将要发生的情况。在用户不仅按下某键而且组件收到输入焦点时,该组件就实现了 AJAX 请求。因此,代码的 AJAX 事件处理程序在忽略 prefix 的值的情况下,在结果中添加了 "Hello"。8. 为了对所有的软件开发者表示尊重,请在输入字段中键入字符串 "world"。可以看到该列表将基于您所键入的内容不断地发生改变。事件处理程序中的第二个 addItem 仅回显已转换为大写形式的 prefix 输入参数,如下所示。
正如您所看到的那样,IDE 和 AJAX 可以很好地结合在一起。如果需要进一步证实这一点,可以按照下面的路线图,改进 AJAX Web 应用程序以自动完成数据库表中的部件名称。目前,AJAX 可以改进用户界面,但前提是它可以快速运行。如果您需要提高速度,请参阅这里。由于这是一个样例应用程序,因此该路线图介绍了使用嵌入式数据库的步骤。但是,您可以根据所选的数据库随意地更改这些步骤。 返回数据库查询结果的 AJAX 事件处理程序的高级路线图 此路线图显示了一系列的开发阶段,其中每个阶段都会为您的样例应用程序添加一些新内容。要充分利用此路线图,请通过迭代方式分阶段改进样例应用程序。与此相关的一个很好的教程是:使用数据绑定组件访问数据库。 开发阶段 I:在 AJAX 事件处理程序中执行查询
开发阶段 II:将来自查询的数据拖放到结果中
开发阶段 III:将查询调整为使用来自 AJAX 请求的
开发阶段 I:SQL 提示:
SELECT ALL JSC.PART.NAME
FROM JSC.PART
WHERE JSC.PART.NAME<> 'Not Configured'
AND JSC.PART.NAME LIKE ?
public void autoComplete1_complete(FacesContext context, String prefix, CompletionResult result) {
// TODO: Return your own list of items here based on the prefix, like this:
if (prefix == null || prefix.length() < 1) {
return;
}
result.addItem("start");
try {
String prefixLeadingCap = prefix.substring(0,1).toUpperCase() + prefix.substring(1)
+ '%'; // phase 3
result.addItem(prefixLeadingCap);
// % means match any string starting with prefix, convert to leading
// caps for better matching
try { // phase 1
CachedRowSetX partRowSet = getSessionBean1().getPartRowSet(); // phase 1
partRowSet.setObject(1, prefixLeadingCap); // phase 3, first parameter is 1
// partRowSet.execute(); // uncomment for development phase I,
// later replaced by refresh below
} catch (SQLException e) {
result.addItem("Exception: " + e); // for debugging, otherwise comment out
// or change for security purposes
return;
}
try { // phase 2
partDataProvider.refresh(); // executes the query
if (!partDataProvider.cursorFirst()) {
result.addItem("Empty"); // for debugging, comment out otherwise
return; // the query returned no rows
}
do {
String partName = (String) partDataProvider.getValue("PART.NAME");
result.addItem(partName);
} while (partDataProvider.cursorNext());
} catch (DataProviderException e) {
result.addItem("Exception: " + e); // for debugging, otherwise comment out
// or change for security purposes
}
} catch (Exception se) { // remove this catch after you have
// finished debugging
result.addItem("UnknownException: " + se);
}
result.addItem("end");
}
其他 BluePrints AJAX 组件
complib 文件包含了一个地图查看器组件,您可以通过该组件在 Sun Java Studio Creator 2 中开发使用 Google 地图 API 的 Web 应用程序。该文件中还包含了一个选择值文本字段组件,它不仅可以在一般的情况下使用,而且在映射 Web 应用程序方面特别有用。 有关不同的 AJAX 组件(包括地图查看器和进度栏组件)的教程,请参见 Sun Java Creator Studio 学习页。 有关 AJAX 组件的其他技术文章和提示,请参见 Sun Java Creator Studio 参考页。 了解有关 Java BluePrints 组件的详细信息
如果您是一位组件开发者并希望了解有关组件的详细信息,则应该查看 Java BluePrints 组件及其相关文档。请访问以下链接以获取详细信息: 更多的开发者资源
有关为开发者提供的更多技术提示、文章和专家建议,请访问 Sun Developer Network (SDN) 上的 Java Studio Creator 开发者资源,网址为:http://gceclub.sun.com.cn/prodtech/javatools/jscreator/。 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||