注意: 在 JSP 页中,包含用于设置 action 名的隐藏参数 jspMode
。请求处理类必须将 action 名设置到 jspMode
会话变量中,这样表格标记才可以用它来跟踪用户操作。
|
请求处理类还必须用从 request 对象中读取的参数值设置会话变量 jspMode
。
|
要创建查看搜索结果的简单表格显示,使用以下属性文件:
TableHeaderDisplay.properties (为方便观看,将一行代码显示为多行):
|
TableValueDisplay.properties (为方便观看,将一行代码显示为多行):
|
图 1 展示了该视图。
图 1. 搜索结果
![搜索结果](https://i-blog.csdnimg.cn/blog_migrate/5a7c8d95f98d3e20e93851cf1e3eb310.png)
要创建列类型为 href 的表格显示,使用以下属性文件:
TableHeaderDisplay.properties (为方便观看,将一行代码显示为多行):
|
TableValueDisplay.properties (为方便观看,将一行代码显示为多行):
|
显示带有 href 列的表格时(请参阅 图 2),HeaderDisplay
属性包含 Employee No:150:href
项,用于设置到 Employee No. 列的链接。
用户单击 href 链接会调用下面的 JavaScript 函数:
|
对于 Employee No:111111
,handleTableLink(0)
调用上面的函数。这个函数用所选的 href 链接的索引设置表单变量 iTableLink
,jspMode
标识了用户操作,如保存、更新或者删除。要得到相应 href 的细节,使用 iTableLink
值。iTableLink
表示值对象的索引。(表格数据来自会话,它以值对象的 vector 的形式存储在会话中)。
图 2. 带有 href 列的表格
![带有 href 列的表格](https://i-blog.csdnimg.cn/blog_migrate/ea9c5c7ac5da977c5ba4b9a0693d603a.png)
要创建列类型为选择框的表格,使用以下属性文件。
TableHeaderDisplay.properties(为方便观看,将一行代码显示为多行):
|
TableValueDisplay.properties (为方便观看,将一行代码显示为多行):
|
HeaderDisplay
属性包含 Delete:20:checkbox:chkDeleteentry
,以显示选择框。
用户单击选择框,会调用下面的 JavaScript 函数。这个函数根据用户是选择还是取消选择选择框,将 hdchkDelete
设置为 On 或者 Off。
|
图 3 显示了一个带有选择框的表格。用户可以选择任意数量的记录并在一个操作中全部删除。请求处理类读取 hdchkDelete
的参数值。如果相应的选择框的值为 On,那么它就删除这个记录。
可以从 request 对象中读取所选的选择框的索引值 String[] values = request.getParameterValues("hdchkDelete");
。
图 3. 带有选择框列的表格
![带有选择框列的表格](https://i-blog.csdnimg.cn/blog_migrate/bd465a86c8925af2cb1563c34fc5b52f.png)
要创建一个带有单选按钮列的表格显示(请参阅 图 4),要使用下面的属性文件:
TableHeaderDisplay.properties(为方便观看,将一行代码显示为多行):
|
TableValueDisplay.properties (为方便观看,将一行代码显示为多行):
|
HeaderDisplay
属性包含 Select:50:radio:rdInclude
项,以显示单选按钮。
用户单击一个单选按钮,会调用下面的 JavaScript 函数。
|
对于 Employee No:111111
,handleTableRadioCtrl ('0')
调用上面的函数。这个函数用所选的单选按钮的索引设置表单变量 iTableLink
。要得到相应记录的细节,使用 iTableLink
值。iTableLink
表示值对象的索引。(表格数据来自会话,它以值对象的 vector 的形式存储在会话中)。
可以从 request 对象中读取所选的单选按钮索引:String selectedIndex = request.getParameter("iTableLink");
。
图 4. 列为单选按钮的表格
![列为单选按钮的表格](https://i-blog.csdnimg.cn/blog_migrate/9c9993dabf3b4dfd3584f8580d70b558.png)
要创建列类型为文本框/组合框的表格显示(请参阅 图 5),使用下面的属性文件:
TableHeaderDisplay.properties (为方便观看,将一行代码显示为多行):
|
TableValueDisplay.properties (为方便观看,将一行代码显示为多行):
|
HeaderDisplay
属性包含以下项以显示文本框和组合框:
First Name:150:textbox:FirstName
用于文本框项Sex:80:combo:sex
用于组合框项
TableValueDisplay.properties 文件包含组合框的会话属性键(Sex
),它在表格数据会话属性键(EmployeeSearchResults
)后面。
请求处理类从 reqeust 中读取参数值,如下所示:
|
图 5. 列为文本框/组合框的表格
![列为文本框/组合框的表格](https://i-blog.csdnimg.cn/blog_migrate/24de8fa606b622cee4db197c93cc2ba2.png)
![]() |
|
在本文中,介绍了如何为带有不同 html 控件的表格数据显示创建自定义标记,包括 href、选择框、单选按钮、文本框和组合框。对于有许多 JSP 页的复杂应用程序,用这种表格标记可以减少编码量和维护工作。