gpt4 book ai didi

java - JSF 1.2 - 使用 为表生成动态 ID 属性

转载 作者:行者123 更新时间:2023-12-03 23:08:26 25 4
gpt4 key购买 nike

使用 <h:dataTable> 为表(在循环中)创建动态 ID 属性的最佳方法是什么? ?

我们使用以下内容:

  • JSF 1.2
  • JSP
  • Sun 应用服务器 9.0_01
  • JSTL 1.1

  • 我们有一个有 8 个表的页面。

    每 table 必须具有唯一的 ID 属性。

    表格是通过迭代包含包含表格数据的元素的 Map 绘制的。

    定义表的 ID 属性时应使用 Map 的键。

    例子:

    如果我的 map 包含这些键: Dog, Cat, Mouse, Bird
    理想情况下,我希望我的表的 ID 属性为: dog-table, cat-table, mouse-table, bird-table
    随机的东西也可以工作: t1-table, t2-table, t3-table <h:dataTable>的ID属性不允许 EL 表达式(所以我不能直接访问我的 map 键)。

    创建 ID 属性的最佳方法是什么?

    我想到了两种方法,但它们似乎都很笨拙:
  • 使用 scriptlet 或 JSP 值表达式
  • 使用 jQuery 为每个表分配唯一的 ID(在呈现之后和处理之前)

  • 最终目标是使用 jqGrid 显示这些表(所以我们无论如何都使用 jQuery)。

    任何帮助都是极好的...

    注意:

    我们正在使用一个辅助类来模拟对 Map 的迭代(因为这在 JSF 1.2 中无法完成)。

    我们不是在 Map 上进行实际迭代,而是生成一个包含名称和 List<Foo> 的对象列表。 .

    名称代表键,列表代表表的行。

    编辑 :

    我最终想到 <h:dataTable>在这种情况下生成自己的唯一 ID。

    生成的名称足以解决我的问题......

    即使我的页面正在运行,我仍然很好奇将来如何处理这种情况。

    最佳答案

    我想这会帮助你...

    所有使用 ${} 语法的表达式都会立即求值。这些表达式只能在模板文本中使用或作为可以接受运行时表达式的标签属性的值。

       id="${data.map}-table

    关于java - JSF 1.2 - 使用 <h :dataTable> 为表生成动态 ID 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718638/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com