使用 为表(在循环中)创建动态 ID 属性的最佳方法是什么<h:dataTable>
?
我们使用以下内容:
- JSF 1.2
- JSP
- Sun 应用服务器 9.0_01
- JSTL 1.1
我们有一个包含 8 个表的页面。
每个表必须有一个唯一的 ID 属性。
这些表是通过迭代包含包含表数据的元素的 Map 来绘制的。
定义表的 ID 属性时应使用 Map 的键。
例子:
如果我的地图包含这些键: Dog, Cat, Mouse, Bird
理想情况下,我希望我的表的 ID 属性为:dog-table, cat-table, mouse-table, bird-table
随机的东西也会起作用:t1-table, t2-table, t3-table
的 ID 属性<h:dataTable>
不允许 EL 表达式(所以我不能直接访问我的地图键)。
创建我的 ID 属性的最佳方法是什么?
我想到了两种方法,但它们看起来都很老套:
使用 scriptlet 或 JSP 值表达式
使用 jQuery 为每个表分配唯一的 ID(在呈现之后和处理之前)
最终目标是使用 jqGrid 显示这些表(所以我们无论如何都在使用 jQuery)。
任何帮助都是极好的...
笔记:
我们使用辅助类来模拟对 Map 的迭代(因为这在 JSF 1.2 中无法完成)。
我们没有实际迭代 Map ,而是生成一个具有name和 a的对象列表List<Foo>
。
名称代表键,列表代表表的行。
编辑:
我最终想到<h:dataTable>
在这种情况下会生成自己的唯一 ID。
生成的名称足以解决我的问题......
即使我的页面正在运行,我仍然对将来如何处理这种情况感到好奇。