如何从gsp传递控制器中方法调用的参数?

How to pass parameters for method call in controller from gsp?

我正在从我的 gsp 文件中调用控制器中的一个方法。有问题的方法有一个参数需要填写。

以下是目前我的方法,但不起作用。

<g:each in="${msdsLinkList}" status="i" var="msdsLink">
  <div id="msdsBox${i}" class="msdsBox">
    <g:link class="word-button" action="exportAttachment(msdsLink${i})"></g:link>
  </div>
</g:each>

如何将 msdsLink${i} 传递给 exportAttachment 方法?

尝试

<g:each in="${msdsLinkList}" status="i" var="msdsLink">
  <div id="msdsBox${i}" class="msdsBox">
    <g:link class="word-button" action="exportAttachment" id="${msdsLink.id}"></g:link>
  </div>
</g:each>

在您的控制器中,您可以将传入的值检索为

params.id

除了 elixir 的答案之外,您还可以在 g:link 标签中使用 params

<g:each in="${msdsLinkList}" status="i" var="msdsLink">
  <div id="msdsBox${i}" class="msdsBox">
    <g:link class="word-button" action="exportAttachment" id="${msdsLink.id}"
            params="[foo: 'bar', bar: 'foo', value: msdsLink.value]"></g:link>
  </div>
</g:each>

在您的控制器方法中,您可以简单地使用 params 映射:

params.id
params.foo
params.bar
params.value