1

次の gsp ページがあります。

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

生成された URL は次のとおりです。

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

これは事実であり、意図したものではありません。(私の意図は、get または post として var=value のペアを生成することです。)

ticketMngmnt コントローラーには、パラメーターの値をキャッチできない次のコードがあります。

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

    ...
}

もちろん、常に印刷しています

params.incidentMngmntId null

問題は 2 つあります。まず、gsp レベルで、 http://localhost:8080/smtool/ticketMngmnt/list?incidentMngmntId=94という形式のリンクを生成できます (または、par var=value を投稿として指定できます) 。

次に、そうでない場合、リンクは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 に答える