Spring JSTL:如何访问对象迭代内的任意字段

发布于 2024-12-12 02:38:44 字数 709 浏览 0 评论 0原文

我正在编写一个 .tagx 文件,希望在表格中显示对象列表,其中包含用户选择的列。

当我到达这里时,我已经有了包含数据库对象列表的 ${items} 和包含与字段匹配的字段名称列表的 ${columns} ${items} 内容的名称。

我正在尝试执行以下操作:

<table>
  <c:forEach var="item" items="${items}" >
    <tr>
      <c:forEach var="column" items="${columns}">
        <td><!-- What should go here? --></td>
      </c:forEach>
    </tr>
  </c:forEach>
</table>

${item.column} 向我投诉 item 没有名为 column 的字段。这是真的。

输入 ${item.${column}} 会出现语法错误(无效字符“{”)。

正确放置“ASDF”表明列的布局良好,并且虚拟数据已放入其中。因此,除了访问我们正在迭代的项目的任意字段之外,它实际上是一切。

I'm writing a .tagx file, looking to display a listing of objects, in a table, with columns that the user selected.

By the time I get here, I have ${items} that contains my list of database objects, and ${columns} that contains the list of field names that match field names of the ${items} contents.

I'm trying to do:

<table>
  <c:forEach var="item" items="${items}" >
    <tr>
      <c:forEach var="column" items="${columns}">
        <td><!-- What should go here? --></td>
      </c:forEach>
    </tr>
  </c:forEach>
</table>

${item.column} gets me a complaint that item has no field named column. Which is true.

Putting ${item.${column}} gives a syntax error (invalid character '{').

Putting "ASDF" properly shows that the columns are getting laid out good and dummy data gets put in them. So it's literally everything except accessing an arbitrary field of an item we're iterating.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

む无字情书 2024-12-19 02:38:44

使用${item[column]}。并且不要忘记使用 正确进行 HTML 转义。

Use ${item[column]}. And don't forget to properly HTML escape using <c:out>.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文