我如何使用变量值作为 gsp 页面上 HTML 元素的 ID?

How do i use a variable value as the id of an HTML element on a gsp page?

我正在尝试动态设置 gsp 页面上某些元素的 id 值。当我呈现它时,这些值从控制器传递到页面。 但是,当我查看源代码时,并没有设置 id 的值。

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

<g:each in="${listBenefits}" var="benefit" status="i">
    <div class="card"  id="${benefit.getId()}">
...
</g:each>

但是值没有插入到id中。

但是,我可以执行以下操作:

<h1>${benefit.getId()}</h1>

并显示该值。

我试过在像这样使用它之前将值设置为一个变量

<g:set var="idaccordion" value="${benefit.getId()}" />
<div class="card"  id="${idaccordion}">

而且也不行。

我期待得到这样的东西:

<div class="card"  id="desired_id">

相反,我得到了这样的东西

<div class="card"  id="">

任何关于我做错的想法都将不胜感激。

我在你的工作中找不到任何错误。我建议您在同一视图(即 gsp 页面)中尝试以下代码片段,看看它是如何呈现的。

<g:each in="${1..3}" var="rn">
    <div id="${rn}">Test ${rn}</div>
</g:each>

如果代码运行正常,我认为您需要修改benifit.getId()方法。您可以使用 benefit.id 来查看它是否有任何区别。