|
在本教程中,您将使用 NetBeans Visual Web JSF 框架创建一个基于 CSS 的固定页面布局。您将使用不同的 Layout Panel(布局面板)和组件面板中的其他 HTML 元素来完成页面的布局。
|
|
目录
|
|
 |
本教程将使用以下技术和资源
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:基本布局结构 |
-
创建一个使用 Visual Web JSF 框架的 Web 应用程序。命名项目 com.samples.layout 以及默认资源包 fixedpagelayoutex。
Page1.jsp 文件会在 Visual Designer 中打开。
-
在 Projects 窗口中,展开 Web 页面节点,右键单击 Page1.jsp,并选择 Refactor > Rename。
则打开 Rename 对话框。
-
在 Rename 对话框中,输入 PageLayout1 作为网页的新名称。选中以应用注释的重命名并单击 Refactor。
在 Project 窗口和 Visual Designer 中的选项卡上,网页的名称随之改变。
-
单击 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>
|
- 在 Projects 窗口中,右键单击资源文件夹并选择 New > Cascading Style Sheet。
-
在 New Cascading Style Sheet 向导中,输入 layout 作为文件名并单击 Finish。
layout.css 出现在 Projects 窗口中的资源节点下面。
- 返回到
PageLayout1.jsp 的设计视图。从 Palette的Advanced 区域,拖放一个 Link 组件到 Visual Designer。
- 选择 Navigator 窗口中的 link 组件。在 Property 窗口中,将 URL 设置为
/resources/layout.css。
- 在 Projects 窗口中,双击
layout.css,以便在 Visual Designer 中将其打开。
-
将以下 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,该属性提示浏览器它的两端都需要清除(不允许在两边有浮动的元素),所以它总是放置在其他浮动元素的下面。
- 要达到边界,选择 Navigator 窗口中的
div:container 并将其 style 属性 Border 设置为 solid、5px width,默认颜色保留为黑色。
- 右键单击项目节点,选择 Run 来部署应用程序。浏览器应该显示一个类似图 2 的页面:
图 2:部署应用程序 |
添加 Header 内容
首先我们向页面添加一个 header,然后添加其内容。
-
从 Palette 的Layout区域,拖放一个 Layout Panel 组件到 Visual Designer 中的 header <div> 。
- 注意:Layout Panel 的默认大小为 128 x 128 像素。
- 打开 iJSP Editor 并删除
header <div> 中的内容 Header。
-
选择 Visual Designer 中的 Layout Panel。在 Layout Panel 的 Properties 窗口中,单击 style 属性旁边的省略(...)。
则 Style Editor 打开。
-
在 Layout Panel 的 Style Editor 中,将高度设置为 175px,宽度设置为 760px。
- 注意:该宽度和在
layout.css 中指定的 container <div> 的宽度一样。
-
使用 Style Editor 设置 Layout Panel 的背景图片。
如果您没有 header 图片,您可以使用从 此处 下载。
- 单击 OK 保存更改。
-
在 Properties 窗口中,将 panelLayout 属性设置为 Grid Layout 或者 Flow Layout。
- 注意:如果选择
GridLayout,则您可以更容易在页面上放置其他组件。如果您更愿意使用 Flow Layout,则您必须使用其他布局组件来格式化组件放置。
- 将一个 Static Text 拖放到 Layout Panel,并将其
text 属性设置为 Fixed Page Layout 1。使用 Style Editor 更改文本的风格。
-
运行应用程序。该应用程序应该类似于图 3。
图 3:具有 Header 图片的已部署页面 |
添加左侧边栏内容
下一步,我们将 Navigation Bar 添加到页面的左侧。通过只添加超链接使其内容保持简单。
-
拖放一个 Grid Panel 组件到 leftBar <div> 上。
- 注意:Grid Panel 的默认大小为 128 x 128 像素。一旦组件被添加的到 Grid Panel,其初始大小就会被抛弃。
- 在 JSP Editor 中,删除
leftBar <div> 中的内容 Left Bar。
- 从 Palette 的 Basic 区域,拖放几个 HyperLink 组件到 Visual Designer。查看 Navigator 窗口,确保所有的超链接都在 Grid Panel 内,并在需要时重新安排。
-
运行应用程序。该应用程序应该类似于图 4。
图 4:具有左边侧栏的已部署页面 |
添加右侧边栏内容
与左侧边栏一样,使右侧边栏的内容也保持简单。让我们添加一些文本和图片。
-
从 Palette 的 Layout 区域,拖放一个 Group Panel 组件到 rightBar <div> 。
- 注意:像其他面板一样,Group Panel 组件的默认大小也是 128 x 128 像素。一旦组件被添加的到 Group Panel,其初始大小就会被抛弃。
- 在 JSP Editor 中,删除
rightBar <div> 中的内容 Right Bar。
-
从 Palette 的 Basic 区域中,拖放一个 StaticText 组件,并在 Properties 窗口中更改其 text 属性。
- 注意:也可以添加 HTML 作为文本。确保取消选择 StaticText 组件的
escape 属性。
- 从 Palette 的 Basic 区域中,拖放一个 Image 组件到 Group Panel。在 Properties 窗口中,将
url 属性设置为到任何图片。如果您没有图片,您可以从 此处 下载。
-
运行应用程序。结果应该类似于图 5。
图 5:具有左边侧栏和右边侧栏的已部署页面 |
添加页脚内容
现在我们向位于中间的 footer 面板添加一些超链接。
- 从 Palette 的 Layout 区域,拖放一个 Group Panel 组件到
footer div。
- 在 JSP Editor 中,删除
footer <div> 中的内容 Footer。
- 从 Palette 的 Basic 区域,拖放几个 HyperLink 组件到 footer 面板。在 Properties 窗口中更改其
text 属性。
- 选择 Visual Designer 中的 Group Panel。在 Properties 窗口中,将
separator text 属性设置为“|”。
-
运行该应用程序并查看结果。该应用程序应该类似于图 6。
图 6:具有页脚的已部署页面 |
向 Main Content 菜单添加内容
最后的这一步非常重要。现在我们添加主要内容的面板。
- 从 Palette 的 Layout 区域,拖放一个 Layout Panel 组件到
content div。
- 在 JSP Editor 中,删除
content <div> 中的内容 Main Content。
- 在 Layout Panel 的属性页中,将宽度设置为 100%。现在 Layout Panel 应该覆盖整个 Main Content <div>。
- 在 Properties 窗口中,将 Page Layout 模式设置为 Grid Layout,以便在 Visual Designer 中放置组件。
-
握住 Layout Panel 组件底部的重设大小柄,重设 Layout Panel 的大小为您的内容可以占据的最大面积。按下 Refresh Designer 按钮。
- 注意:如果您希望主内容面板随着内容总量而增长,则使用 Group Panel 组件,而不是 Layout Panel 组件。但是,Group Panel 组件不支持 Grid Layout 模式,您应该在 Flow Layout 模式下使用其他 Layout 组件来放置组件。
-
运行应用程序。结果应该类似于图 7。
图 7:已部署应用程序 |
结束语
在本教程中,使用基于 CSS 的固定页面布局创建了一个 Web 应用程序。您也可以使用 Style Editor 更改基本和布局组件的属性。
更多信息
|