无法将 ID 从 gsp 传递给控制器

Not able to pass the ID to the controller from gsp

我想通过 controller.but 中的 confirmed() 函数将 id="${training.id}" 传递给组织控制器,当我传递它时,它向我展示了NULL result.The (id) 我正在打印的是 NULL。

gsp 文件

<g:each in="${trainingLists}" var="training">
    <div class="card">
        <div class="card-header">
            <h3>Organization Name:</h3>${training.organization.orgName}</div>
        <div class="card-body">
            <h3>Organization Description:</h3>${training.organization.orgDesc}</div>
        <div class="card-body">
          <h3>Training Available:</h3>${training.name}</div>
    <sec:ifNotLoggedIn>
        <g:link controller="organization" action="notconfirmed">Apply</g:link>
    </sec:ifNotLoggedIn>
        <sec:ifLoggedIn>
            <g:link action="confirmed" id="${training.id}">Apply</g:link>
        </sec:ifLoggedIn>
    </div>
    <br>
</g:each>

Organization.controller

def confirmed(){
        def id = params.id
        println(id)

    }

您可以按如下方式进行。

<g:link action="confirmed" params="[id: training.id]">Apply</g:link>

def confirmed(){
        def id = params.id
        println "Training Id: "+id

}

你的 gsp <g:link> 看起来不错。

请调试并检查 ${training.id} 是否具有有效 ID。

<g:link controller="organization" action="confirmed" id="${training.id}">Apply</g:link>

仍然遇到问题然后将临时硬编码 ID 并检查 例如:

<g:link controller="organization" action="confirmed" id="2">Apply</g:link>

现在在地址栏中您将 URL 喜欢 localhost:8080/organization/confirmed/2 并且控制器 println 也会打印 2.

您可以检查 documentation 以获得更多属性和选项