【问题标题】:How to pass parameters for method call in controller from gsp?如何从gsp传递控制器中方法调用的参数?
【发布时间】:2017-12-04 15:43:23
【问题描述】:

我正在从我的 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 方法?

【问题讨论】:

  • 给你一个更准确的答案。你能分享一个 msdsLinkList 内容的例子吗?

标签: grails gsp


【解决方案1】:

除了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

【讨论】:

    【解决方案2】:

    试试

    <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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2017-03-16
      相关资源
      最近更新 更多