使用JSF和JSR168开发AJAX应用程序
2007-08-22 09:45
441 查看
使用JSF和JSR168开发AJAX应用程序
一、介绍
AJAX是一个热点,也逐渐变成了下一代互联网的标准,因为它提供了很多有益的特征,包括:
(1)提高了用户的接受性和生产力,和桌面应用一样;
(2)容易部署,其立即更新对所有用户有效;
(3)连接标准且只依赖于广泛的部署技术;
(4)对已存在的Web应用,易于增量更新;
(5)有一个成功的组织——the OpenAjax Alliance(AJAX联盟),背后有很多重量级公司支持。
其缺点在于:开发困难,其异步通讯意味着难于设计、调试和维护。
二、Java平台
对开发者来说,有两个服务端技术能用于在AJAX开发中克服障碍:
(1)JSF
JavaServer Faces是一个Java标准,基于Struts的经验。它能加速Web应用开发,并能整合到开发环境,如Oracle JDeveloper,IBM/Rational Application Developer和Sun Studio Creator,以及为JSF准备的Web服务器,例如IBM Webshpere应用服务器,BEA Weblogic和Oracle应用服务器。
(2)Portals
像那些与JSR168标准一致的技术,在内容集合方面提供了许多优点,如:单点登陆(Single Sign-on),个性特征显示,带持久化和可定制交付等。
本文主要是讲解整合JSF到JSR168 portals中,然后在Portals中怎样扩展这些JSF组件来提供Ajax行为。
第一章
整合基本JSF组件到Portals
一方面,JSF规范支持Portlet通过abstract API来部署用例,但其参考实现不能执行,似乎是JSR168 Portlet环境的问题。在本上下文,JSF Portlet bridge reference implementation或者与你的特殊的JSF实现一致的桥,连同缺省的JSF参考实现是需要的。
即使JSF Portlet被打包成regular JSF应用程序,一些不同仍然存在。使用JSF技术来创建一个Portlet的附加步骤如下:
(1)复制jsf-portlet.jar Portlet bridge到你的JSF应用程序的WEB-INF/lib目录下;
(2)增加一个新的portlet.xml Portlet部署描述符文件在WEB-INF目录下;
下面是一个典型的portlet.xml部署描述符文件,其INIT_VIEW 参数被你的JSP页所取代。
-----------------------------------
<portlet-app[]>
<portlet>
<description>JSF Portlet</description>
<portlet-name>jsfPortlet</portlet-name>
<display-name>JSF Portlet</display-name>
<init-param>
<description>Portlet init view page</description>
<name>com.sun.faces.portlet.INIT_VIEW</name>
<value>/index.jsp</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<portlet-info>
<title>JSF Portlet</title>
<short-title>jsfPortlet</short-title>
</portlet-info>
</portlet>
</portlet-app>
-----------------------------------
(3)避免任何<html>,<head>,<body>或任何其它在JSR168规范中禁止的标签的使用;
(4)只使用JSF自身的标签,确保ID在不同的Portlet下的唯一性。
-----------------------------------
<f:view>
<p:portletPage>
<h:form>
<h:anyComponent/>
</h:form>
</p:portletPage>
</f:view>
-----------------------------------
(5)部署Portlet WAR文件。
(未完,再次继续)
一、介绍
AJAX是一个热点,也逐渐变成了下一代互联网的标准,因为它提供了很多有益的特征,包括:
(1)提高了用户的接受性和生产力,和桌面应用一样;
(2)容易部署,其立即更新对所有用户有效;
(3)连接标准且只依赖于广泛的部署技术;
(4)对已存在的Web应用,易于增量更新;
(5)有一个成功的组织——the OpenAjax Alliance(AJAX联盟),背后有很多重量级公司支持。
其缺点在于:开发困难,其异步通讯意味着难于设计、调试和维护。
二、Java平台
对开发者来说,有两个服务端技术能用于在AJAX开发中克服障碍:
(1)JSF
JavaServer Faces是一个Java标准,基于Struts的经验。它能加速Web应用开发,并能整合到开发环境,如Oracle JDeveloper,IBM/Rational Application Developer和Sun Studio Creator,以及为JSF准备的Web服务器,例如IBM Webshpere应用服务器,BEA Weblogic和Oracle应用服务器。
(2)Portals
像那些与JSR168标准一致的技术,在内容集合方面提供了许多优点,如:单点登陆(Single Sign-on),个性特征显示,带持久化和可定制交付等。
本文主要是讲解整合JSF到JSR168 portals中,然后在Portals中怎样扩展这些JSF组件来提供Ajax行为。
第一章
整合基本JSF组件到Portals
一方面,JSF规范支持Portlet通过abstract API来部署用例,但其参考实现不能执行,似乎是JSR168 Portlet环境的问题。在本上下文,JSF Portlet bridge reference implementation或者与你的特殊的JSF实现一致的桥,连同缺省的JSF参考实现是需要的。
即使JSF Portlet被打包成regular JSF应用程序,一些不同仍然存在。使用JSF技术来创建一个Portlet的附加步骤如下:
(1)复制jsf-portlet.jar Portlet bridge到你的JSF应用程序的WEB-INF/lib目录下;
(2)增加一个新的portlet.xml Portlet部署描述符文件在WEB-INF目录下;
下面是一个典型的portlet.xml部署描述符文件,其INIT_VIEW 参数被你的JSP页所取代。
-----------------------------------
<portlet-app[]>
<portlet>
<description>JSF Portlet</description>
<portlet-name>jsfPortlet</portlet-name>
<display-name>JSF Portlet</display-name>
<init-param>
<description>Portlet init view page</description>
<name>com.sun.faces.portlet.INIT_VIEW</name>
<value>/index.jsp</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<portlet-info>
<title>JSF Portlet</title>
<short-title>jsfPortlet</short-title>
</portlet-info>
</portlet>
</portlet-app>
-----------------------------------
(3)避免任何<html>,<head>,<body>或任何其它在JSR168规范中禁止的标签的使用;
(4)只使用JSF自身的标签,确保ID在不同的Portlet下的唯一性。
-----------------------------------
<f:view>
<p:portletPage>
<h:form>
<h:anyComponent/>
</h:form>
</p:portletPage>
</f:view>
-----------------------------------
(5)部署Portlet WAR文件。
(未完,再次继续)
相关文章推荐
- 使用JSF和JSR168开发AJAX应用程序
- 使用AJAX进行应用程序开发
- 想实现自己的地理应用程序?建议参考<<使用Rails和Ajax开发Google地图应用程序>>
- 面向 Java 开发人员的 Ajax: 使用 Jetty 和 Direct Web Remoting 编写可扩展的 Comet 应用程序
- ajaxrequest.js ajaxrequest 0.7最新版 使用AJAXRequest进行AJAX应用程序开发入门小技巧
- 使用 Data Studio 快速开发由 XML 驱动的 Ajax 应用程序
- JSF 和 Ajax:使用 Rational Application Developer V7 轻松实现 Web 2.0 应用程序
- 使用AJAX技术开发新一代Web应用程序 2
- 联合使用 CSS、JavaScript 和 JSF 精心打造 Ajax 应用程序,第 2 部分: 动态 JSF 表单
- ADF_ADF Faces系列1_使用JSF开发基于Ajax的用户界面:ADF Faces 富客户端组件简介(Part1)
- JSF 和 Ajax:使用 Rational Application Developer V7 轻松实现 Web 2.0 应用程序
- 使用 HTML5 和 Ajax 开发数据驱动的交互式应用程序
- 使用GWT开发AJAX应用程序
- JSF 和 Ajax:使用 Rational Application Developer V7 轻松实现 Web 2.0 应用程序
- 面向 Java 开发人员的 Ajax: 使用 Jetty 和 Direct Web Remoting 编写可扩展的 Comet 应用程序
- ADF_ADF Faces系列2_使用JSF开发基于Ajax的用户界面:ADF Faces富客户端组件简介(Part2)
- 使用 JSF 开发基于 Ajax 的用户界面:ADF Faces 富客户端组件简介
- 面向 Java 开发人员的 Ajax: 使用 Jetty 和 Direct Web Remoting 编写可扩展的 Comet 应用程序
- JSF 和 Ajax:使用 Rational Application Developer V7 轻松实现 Web 2.0 应用程序
- 使用JSF、Ajax和Seam开发Portlets(2/3)