我想将id =“$ {training.id}”传递给组合控制器与控制器内的confirm()函数。但是当我传递它时,它显示我的NULL结果。(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)
}
答案 0 :(得分:1)
你的gsp <g:link>
看起来不错。
请调试并检查${training.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>
现在在地址栏中,您会像localhost:8080/organization/confirmed/2
这样的网址,而控制器println也会打印2。
您可以查看documentation了解更多属性和选项
答案 1 :(得分:0)
您可以按照以下方式执行此操作。
<g:link action="confirmed" params="[id: training.id]">Apply</g:link>
def confirmed(){
def id = params.id
println "Training Id: "+id
}