< 上一课
|
下一课 >
课程 2.1:格式化数据表
all_records.jsp 页上的数据表具有实用的外观。它显示数据库中的所有记录以及指向它打算链接至的其他页面的链接,但外观不是很吸引人。在此练习中,将通过添加分页控件、样式规则和待售商品的图片来改善此数据表。
将列标题重命名
关于此任务
很多情况下,您可能不希望数据表中的列标题正好就是数据库中的列名。下列步骤将说明如何将数据表列标题重命名为更适当的名称。
在“企业资源管理器”视图中双击
all_records.jsp
页面
单击数据表中的
Maincategory
列标题。
在“属性”视图中,单击
h:outputText
选项卡并将
值
文本字段从 Maincategory 更改为
Category
。
如果您愿意,可以重命名其他列。
保存该页面。
格式化输出组件
关于此任务
还可以格式化输出组件。在这些步骤中,将格式化 {PRICE} 输出组件,使之以货币值(而不是普通的数字)的形式出现。
在页面上单击
{PRICE}
输出组件。
在“属性”视图中,查找
类型
下拉列表,并选择
货币
。
现在,每件商品的价格都将以货币样式显示,而不是显示为普通数字。其他样式和格式(如百分比、日期和时间)可用于不同类型的数据。还可以定制输出组件的格式以显示未列示在“属性”视图中的某种类型的数据,例如电话号码。
保存该页面。
对数据进行排序
关于此任务
现在,数据未按任何顺序列示。为了向用户提供一个更有条理的广告列表,按类别对记录列表进行排序,以便类似的商品都集中在一起。
在“页数据”视图(
窗口
>
显示视图
>
页数据
)中,右键单击
all_recordlist(ADS)
并单击上下文菜单中的
配置
。将打开
配置关系记录列表
窗口。
如果出现警告消息并且声明无法与数据库建立连接,那么原因是在测试 Web 站点之后服务器仍在运行。如果发生这种情况,那么在每个对话框中单击“取消”,并按
测试 Web 站点
中的“停止服务器”部分中所述停止服务器。
选择
从作用域中检索现有记录或记录列表
和
复用现有记录或记录列表中的元数据定义
,然后单击
下一步
。
在下一个窗口中,单击以选择 ADS,然后单击
下一步
。
在下一个窗口的右边,单击
对结果进行排序
。这将打开“排序”窗口。
在“可用的列”窗格中,单击 MAINCATEGORY。
单击“
>
”按钮以将 MAINCATEGORY 列移到“排序方式”窗格中。该窗口应类似于下图:
单击
关闭
以关闭“排序”窗口。
单击
完成
以应用更改。现在,数据将按类别排序。可以按数据库中的任何列排序。
添加分页控件
关于此任务
为了使每条记录不会同时显示在数据表中,可以使用分页控件。分页控件自动将记录分到设定大小的多个页中,而不必在项目中创建任何新的 JSP 文件。
单击数据表中的任何位置。
在“属性”视图中,单击视图左边的 HTML 标记列表中的
h:dataTableEx
。
单击
h:dataTableEx
下面的
显示选项
选项卡。
在
每页行数
字段中,输入
5
。
单击
添加 Web 样式分页控件
旁边的按钮。在数据表的底部将出现分页控件的大致外观的图形。
Page Designer 中的分页控件的可视化形式是一个占位符图像,并不真正反映将显示的页数,这是因为只有在浏览器中装入页面时才能确定页数。
保存该页面。
如果您愿意,可以使用不同样式的分页控件和页面统计信息组件来进行实践,从而找出最适用于该页面的分页控件和页面统计信息组件。
以列表形式对组框中的组件进行布局
关于此任务
不需要让数据表的每一列都有一个输出组件,在列中组合多个元素就可以获得更美观的布局。您将使用组框来对各组件进行排列,与使用隐藏的 HTML 表的方式类似。具体地说,在添加图像组件以增强站点的视觉效果之后,您将获取有关每条广告的大部分文本式信息并将它放置到单个数据表列中,然后将该列标记为 DETAILS。
单击“选用板”中的“增强型 Faces 组件”抽屉以打开该抽屉。将
面板 - 组框
组件拖至数据表的 TITLE 列。将打开“选择类型”窗口。
在“选择类型”窗口中选择
框
作为组框类型,然后单击
确定
。
此组框以单列或单行的形式来布置组框内的组件,并且可以按垂直方向或水平方向排列。
单击组框以选择该组框。
通过使用“属性”视图,将
方向
更改为
垂直
。
将
{TITLE}
组件拖到列表组框中。一旦将组件添加至组框,组框中的指示性文本就会消失。
将
图像
组件从“选用板”的“增强型 Faces 组件”抽屉拖放到列表组框中。它有助于将图像组件放在组框的底部边缘上以确保图像将放置在标题下方。
单击刚刚添加的图像组件。
使用“属性”视图的
大小
区域来将
宽度
设置为 60 像素,并将
高度
设置为 50 像素。这样可确保无论图像在数据库中的大小如何,它们始终将以 60x50 显示在页面上。
通过将 all_recordlist 的 PHOTO 列从“页数据”视图中拖动到图像组件上来将图像组件绑定至该 PHOTO 列。这将使图像组件显示在每条记录的 PHOTO 列中找到的图像数据。如果未列示 PHOTO(ByteArray)列,那么在“页数据”视图中,右键单击
all_recordlist(ADS)
并从菜单中选择
配置
。如果“URL”窗口已打开,那么单击
确定
以关闭该窗口。在“配置关系记录列表”窗口中,单击
下一步
。选择 ADS,然后单击
下一步
。单击以选中
PHOTO(ByteArray)
旁边的框,然后单击
完成
。
单击已插入的图形。在“属性”视图的
hx:graphicImageEx
选项卡上,单击
类型
字段旁边的
选择页数据对象
按钮。“选择页数据对象”窗口打开。
单击以展开
all_recordlist(服务数据对象)
>
all_recordlist(ADS)
。
单击
IMAGETYPE (String)
。
单击
确定
,然后保存该页面。
结果
您的页面现在应该类似于下图:
使用组框网格来优化布局
关于此任务
组框还可用类似于表的格式排列组件。列表类型组框只可具有一行或一列,但网格类型组框可具有任意数目的行和列。在下面的步骤中,将把 {PRICE} 和 {PHONE} 组件及其标签移动到数据表的 DESCRIPTION 列中。
将
面板 - 组框
组件从“选用板”的“增强型 Faces 组件”抽屉中拖至数据表的 DESCRIPTION 列。将打开“选择类型”窗口。
单击
网格
作为要添加的组件类型并单击
确定
。
单击“新建网格”组框。
使用“属性”视图来将此组框的
列
数设置为
2
。
将
输出
组件从“选用板”的“Faces 组件”抽屉拖放到网格组框中。
此输出组件将是用于描述待售商品的标签。每个输出组件将具有类似表左边单元格中的那个标签。
单击
输出
组件(它在 Page Designer 中显示为
输出文本
)并使用“属性”视图将它的
值
指定为
描述:
将现有 {DESCRIPTION} 组件拖到网格组框的底部边缘。
如果将组件拖动到组框的右边位置时遇到问题,那么尝试按下鼠标按键并观察光标。光标在组框中的位置指示当释放鼠标按键时组件将出现的位置。对于本练习,应在光标位于前一个组件的右边时释放鼠标按键。
将另一个
输出
组件从“选用板”拖放到组框的右边。
使用“属性”视图将它的
值
指定为
价格:
。
将现有 {PRICE} 输出组件拖放到“价格”输出文本的右边。
以上述同样方式拖动 {PHONE} 组件标签的新
输出
组件,然后将它标记为
电话号码:
。
将现有 {PHONE} 组件拖到“电话号码”输出文本右边的网格组框中。
您的页面现在应该类似于下图:
删除数据表中空的 PRICE 和 PHONE 列。要删除某列,单击该列并打开“属性”视图。接着,单击视图左边的 HTML 标记列表中的
h:dataTable
,从视图右边的列表中选择要删除的列,然后单击“除去”。
单击“描述”列的标题并使用“属性”视图将它的
值
字段更改为
详细信息
。
该页面应类似于下图:
保存该页面并对它进行测试。如果您不熟悉在服务器上运行应用程序,请参阅
课程 1.3:测试 Web 站点
。
结果
当测试该页面时,它应类似于下图:
任何没有相关图像的广告都将显示一个断开的链接。在下一课程中,将学习如何将文件上载组件添加至页面以添加或更改广告的图像。
课程要点
您已经完成了课程 2.1。在本课程中,您已经学习了如何使用各种方法来格式化数据表。
您学习了如何完成下列任务:
更改列标题。
对表中的数据进行排序。
添加分页控件以将数据分成多个较小的 Web 页面。
使用组框并以多种方式来更改表在 Web 页面上的布局。
< 上一课
|
下一课 >
反馈