1

我有以下 gsp 页面:

<g:def var="incidentMngmntId" value="${incidentMngmntInstance?.id}"/>
<g:link controller="ticketMngmnt" 
        action="list" params="[incidentMngmntId : incidentMngmntId]"
        id="${incidentMngmntInstance?.id}"> Tickets
</g:link>

生成的网址如下

http://localhost:8080/smtool/ticketMngmnt/list/94

这是事实不是预期的。(我的意图是生成一对 var=value 作为 get 或 post。)

在 ticketMngmnt 控制器上,我有以下代码无法捕获参数的值。

 def list = {       
    def incidentMngmntId = params.incidentMngmntId
    println "params.incidentMngmntId " + incidentMngmntId

    ...
}

当然它总是在打印

params.incidentMngmntId null

问题是双重的:首先,可以在 gsp 级别生成 http://localhost:8080/smtool/ticketMngmnt/list?incidentMngmntId=94形式的链接 (或将 par var=value 作为 post 给出)

其次,如果不是 - 链接仍然为http://localhost:8080/smtool/ticketMngmnt/list/94 - 那么问题是如何在控制器上读取值94 。

提前非常感谢。

路易斯

PS:顺便说一句,值94是正确的

4

1 回答 1

1

发布的代码是正确的。我刚刚重新启动了服务器,就是这样。

唯一需要改变的是链接上不必要的id

<g:def var="incidentMngmntId" value="${incidentMngmntInstance?.id}"/>
<g:link controller="ticketMngmnt" 
    action="list" params="[incidentMngmntId : incidentMngmntId]">
    Tickets
</g:link>

对不起。

于 2009-06-05T10:40:31.080 回答