2009年4月2日星期四

ArcGIS Server Java ADF 案例教程 8

ADF页面结构

在介绍ADF组件之前,我想还是先花点时间了解一下ADF的页面结构比较好,因为首先你要知道,使用ADF并不是简单地把这些组件拖到一个JSF页面上就可以用的。

打开模板工程的地图页面“mapviewer.jsp”,首先在页面顶端我们会找到对ADF标签库的引用,JSF页面会通过这个标签库(前缀为“a”)来定义相应的ADF组件。

往下到页面的主体部分,所有的ADF组件都放在“f:view”标签内,这很好理解,因为我们的ADF组件是基于JSF的,因此也必须放在JSF的组件树结构中,“f:view”就是JSF组件树的根节点。我们可以看到,在“a:context”,它绑定到服务器上的WebContext对象“mapContext”,由它来管理其余所有的ADF组件及相关状态,“mapContext”对象的定义我们可以在“/WebContent/WEB-INF/faces-config.xml”中找到:

顺便简单说一下这个“faces-config.xml”文件,这是JSF默认的配置文件。在一个JSF应用启动以后,Java Web服务器会根据这个配置文件初始化相应的JSF对象。对于这个配置文件,我们在后面会多次接触到,届时会有更加详细的解释。

在“f:view”内部还有一个标签“h:form”,这代表的是一个纯HTML表单,所有需要向服务器提交数据的JSF组件必须放在这个表单下,因此,我们的ADF组件(除了“a:context”)也都需要放在“h:form”标签内。
图 5 ADF页面主要元素

图 5表示了上述这些页面元素的关系。一般来说,要让我们的JSF页面正确地加载ADF和其它JSF组件,并正常地工作,页面源代码大概如下所示:

没有评论: