Java Solaris 加入Sun中国技术社区 我的社区 注册说明
 
JDK 6.0 API 中文版
 
 
 
 
 
Java API 文档中文版
创建基于 CSS 的固定页面布局:第 1 部分
 
By Winston Prakash, 2/20/08  

在本教程中,您将使用 NetBeans Visual Web JSF 框架创建一个基于 CSS 的固定页面布局。您将使用不同的 Layout Panel(布局面板)和组件面板中的其他 HTML 元素来完成页面的布局。

目录

创建页面
设计并保存 Listbox 属性
初始化 Listbox 属性
将属性绑定到 Listbox 组件
显示选定的 Listbox 项
添加和删除 Listbox 中的项
结束语
  本页面内容适用于NetBeans 6.0 IDE

 

 

本教程将使用以下技术和资源

JavaServer Faces 组件/
Java EE 平台
使用1.2/Java EE 5*)
使用1.1/J2EE 1.4
Travel 数据库 不是必需的不是必需的

* 要利用 NetBeans IDE 6.0 的 Java EE 5 功能,我们需要使用一个与 Java EE 5 规范完全兼容的应用服务器,比如说 Sun Java System Application Server 9(GlassFish 项目)。

本教程专用于 Sun Java Application Server PE 9.0 更新版本 1。如果您使用不同的服务器,请参阅 发行说明常见问题 获取有关常见问题和应对措施的信息。有关支持的服务器和 Java EE 平台的详细信息,请参阅 发行说明

创建应用程序

在本教程中,您将创建一个基于 CSS 的单页面 Web 应用程序。首先,按照下图中显示的布局结构构建一个页面。

 

图 1:基本布局结构 图 1:基本布局结构
  1. 创建一个使用 Visual Web JSF 框架的 Web 应用程序。命名项目 com.samples.layout 以及默认资源包 fixedpagelayoutex

    Page1.jsp 文件会在 Visual Designer 中打开。
  2. 在 Projects 窗口中,展开 Web 页面节点,右键单击 Page1.jsp,并选择 Refactor > Rename。

    则打开 Rename 对话框。
  3. 在 Rename 对话框中,输入 PageLayout1 作为网页的新名称。选中以应用注释的重命名并单击 Refactor。

    在 Project 窗口和 Visual Designer 中的选项卡上,网页的名称随之改变。
  4. 单击 JSP 选项卡以打开 JSP Editor。将以下 HTML 添加到 <form> 组件。

    代码示例 1:编辑 JSP。
    <div id="container">
    <div id="header">
    Header
    </div>
    <div id="leftBar">
    Left Bar
    </div>
    <div id="content">
    Main Content
    </div>
    <div id="rightBar">
    Right Bar
    </div>
    <div id="footer">
    Footer
    </div>
    </div>
  5. 在 Projects 窗口中,右键单击资源文件夹并选择 New > Cascading Style Sheet。
  6. 在 New Cascading Style Sheet 向导中,输入 layout 作为文件名并单击 Finish。

    layout.css 出现在 Projects 窗口中的资源节点下面。
  7. 返回到 PageLayout1.jsp 的设计视图。从 Palette的Advanced 区域,拖放一个 Link 组件到 Visual Designer。
  8. 选择 Navigator 窗口中的 link 组件。在 Property 窗口中,将 URL 设置为 /resources/layout.css
  9. 在 Projects 窗口中,双击 layout.css,以便在 Visual Designer 中将其打开。
  10. 将以下 CSS 规则添加到 layout.css

    代码示例 2:添加 CSS 规则。
    #container {
    margin:auto;
    width: 760px;
    background: #ffffff;
    }

    #header {
    background: #DDDDDD;
    }

    #leftBar {
    float: left;
    width: 150px;
    background: #EBEBEB;
    }

    #content {
    float:left;
    width:450px;
    background-color: #cdcde6;
    }

    #rightBar {
    float:right;
    width: 160px;
    background: #EBEBEB;
    }

    #footer {
    clear:both;
    background:#DDDDDD;
    }


    特别注意以蓝色突出显示的 CSS 属性。它们负责将容器放置在正确的位置。footer CSS 规则具有属性 clear:both,该属性提示浏览器它的两端都需要清除(不允许在两边有浮动的元素),所以它总是放置在其他浮动元素的下面。
  11. 要达到边界,选择 Navigator 窗口中的 div:container 并将其 style 属性 Border 设置为 solid、5px width,默认颜色保留为黑色。
  12. 右键单击项目节点,选择 Run 来部署应用程序。浏览器应该显示一个类似图 2 的页面:
    图 2:部署应用程序 图 2:部署应用程序

添加 Header 内容

首先我们向页面添加一个 header,然后添加其内容。
  1. 从 Palette 的Layout区域,拖放一个 Layout Panel 组件到 Visual Designer 中的 header <div>

    • 注意:Layout Panel 的默认大小为 128 x 128 像素。
  2. 打开 iJSP Editor 并删除 header <div> 中的内容 Header
  3. 选择 Visual Designer 中的 Layout Panel。在 Layout Panel 的 Properties 窗口中,单击 style 属性旁边的省略(...)。

    则 Style Editor 打开。
  4. 在 Layout Panel 的 Style Editor 中,将高度设置为 175px,宽度设置为 760px

    • 注意:该宽度和在 layout.css 中指定的 container <div> 的宽度一样。
  5. 使用 Style Editor 设置 Layout Panel 的背景图片。

    如果您没有 header 图片,您可以使用从 此处 下载。
  6. 单击 OK 保存更改。
  7. 在 Properties 窗口中,将 panelLayout 属性设置为 Grid Layout 或者 Flow Layout

    • 注意:如果选择 GridLayout,则您可以更容易在页面上放置其他组件。如果您更愿意使用 Flow Layout,则您必须使用其他布局组件来格式化组件放置。
  8. 将一个 Static Text 拖放到 Layout Panel,并将其 text 属性设置为 Fixed Page Layout 1。使用 Style Editor 更改文本的风格。
  9. 运行应用程序。该应用程序应该类似于图 3。

    图 4:具有 Header 图片的已部署页面 图 3:具有 Header 图片的已部署页面

添加左侧边栏内容

下一步,我们将 Navigation Bar 添加到页面的左侧。通过只添加超链接使其内容保持简单。
  1. 拖放一个 Grid Panel 组件到 leftBar <div> 上。

    • 注意:Grid Panel 的默认大小为 128 x 128 像素。一旦组件被添加的到 Grid Panel,其初始大小就会被抛弃。
  2. 在 JSP Editor 中,删除 leftBar <div> 中的内容 Left Bar
  3. 从 Palette 的 Basic 区域,拖放几个 HyperLink 组件到 Visual Designer。查看 Navigator 窗口,确保所有的超链接都在 Grid Panel 内,并在需要时重新安排。
  4. 运行应用程序。该应用程序应该类似于图 4。

    图 4:具有左边侧栏的已部署页面 图 4:具有左边侧栏的已部署页面

添加右侧边栏内容

与左侧边栏一样,使右侧边栏的内容也保持简单。让我们添加一些文本和图片。
  1. 从 Palette 的 Layout 区域,拖放一个 Group Panel 组件到 rightBar <div>

    • 注意:像其他面板一样,Group Panel 组件的默认大小也是 128 x 128 像素。一旦组件被添加的到 Group Panel,其初始大小就会被抛弃。
  2. 在 JSP Editor 中,删除 rightBar <div> 中的内容 Right Bar
  3. 从 Palette 的 Basic 区域中,拖放一个 StaticText 组件,并在 Properties 窗口中更改其 text 属性。

    • 注意:也可以添加 HTML 作为文本。确保取消选择 StaticText 组件的 escape 属性。
  4. 从 Palette 的 Basic 区域中,拖放一个 Image 组件到 Group Panel。在 Properties 窗口中,将 url 属性设置为到任何图片。如果您没有图片,您可以从 此处 下载。
  5. 运行应用程序。结果应该类似于图 5。

    图 5:具有左边侧栏和右边侧栏的已部署页面 图 5:具有左边侧栏和右边侧栏的已部署页面

添加页脚内容

现在我们向位于中间的 footer 面板添加一些超链接。
  1. 从 Palette 的 Layout 区域,拖放一个 Group Panel 组件到 footer div
  2. 在 JSP Editor 中,删除 footer <div> 中的内容 Footer
  3. 从 Palette 的 Basic 区域,拖放几个 HyperLink 组件到 footer 面板。在 Properties 窗口中更改其 text 属性。
  4. 选择 Visual Designer 中的 Group Panel。在 Properties 窗口中,将 separator text 属性设置为“|”。
  5. 运行该应用程序并查看结果。该应用程序应该类似于图 6。

    图 6:具有页脚的已部署页面 图 6:具有页脚的已部署页面

向 Main Content 菜单添加内容

最后的这一步非常重要。现在我们添加主要内容的面板。
  1. 从 Palette 的 Layout 区域,拖放一个 Layout Panel 组件到 content div
  2. 在 JSP Editor 中,删除 content <div> 中的内容 Main Content
  3. 在 Layout Panel 的属性页中,将宽度设置为 100%。现在 Layout Panel 应该覆盖整个 Main Content <div>。
  4. 在 Properties 窗口中,将 Page Layout 模式设置为 Grid Layout,以便在 Visual Designer 中放置组件。
  5. 握住 Layout Panel 组件底部的重设大小柄,重设 Layout Panel 的大小为您的内容可以占据的最大面积。按下 Refresh Designer 按钮。

    • 注意:如果您希望主内容面板随着内容总量而增长,则使用 Group Panel 组件,而不是 Layout Panel 组件。但是,Group Panel 组件不支持 Grid Layout 模式,您应该在 Flow Layout 模式下使用其他 Layout 组件来放置组件。
  6. 运行应用程序。结果应该类似于图 7。

    图 7:已部署应用程序 图 7:已部署应用程序

结束语

在本教程中,使用基于 CSS 的固定页面布局创建了一个 Web 应用程序。您也可以使用 Style Editor 更改基本和布局组件的属性。

更多信息