Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将ID从gsp传递给控制器_Java_Grails_Groovy - Fatal编程技术网

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

Java 无法将ID从gsp传递给控制器,java,grails,groovy,Java,Grails,Groovy,我想通过控制器内的confirm()函数将id=“${training.id}”传递给组织控制器。但当我传递它时,它会显示空结果。我正在打印的(id)为空 普惠制文件 <g:each in="${trainingLists}" var="training"> <div class="card"> <div class="card-header"> <h3>Organization Name:</

我想通过控制器内的confirm()函数将id=“${training.id}”传递给组织控制器。但当我传递它时,它会显示空结果。我正在打印的(id)为空

普惠制文件

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

你可以这样做

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

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

}
应用
def确认(){
def id=params.id
println“培训Id:+Id”
}
您的gsp
看起来不错

请调试并检查is
${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


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

单击应用按钮后地址栏中显示的url是什么?我没有将任何url放在那里,它必须经过组织控制器,内部有confirm()函数单击应用按钮时id未通过是的,这就是我要问的。URL不显示ID显示的URL为“localhost:8080/组织/已确认”;首先验证training.id是否有值
<g:link controller="organization" action="confirmed" id="2">Apply</g:link>