MailService プラグインに基づいて電子メールを送信するために GSP を使用しています。sendMail クロージャーは (とりわけ) 通過しますbody(view:..., model:myModel)
${itemName}
GSPを使用するだけで、myModel マップのすべてのアイテムにアクセスできることがわかっています。ただし、のようにアイテム名を動的に作成したい場合があるため'item'+i
、変数にアクセスするための周囲のメソッドが必要です。
${model.get('item'+i)
、およびを既に試し${params.get('item'+i)
ましたが、モデルは null で、params は空のマップです。pageScopeも試してみたのですが、アイテムへのアクセスはできますが、pageScopeはMapではないので使え${pageScope.itemName
ません。${pageScope.get('item'+i)}
おそらく、これを解決するための解決策は複数あります。簡単なものでよかったです;-)。私が見る 1 つの解決策は、myModel を唯一のパラメーターとして渡し、常に を使用myModel.get(...)
することですが、これは、既存のすべての GSP を変更して、項目 (固定名) に直接アクセスするのではなく、常に myModel を参照する必要があることを意味します。したがって、GSP に渡されたモデルを変更する必要がない方法があれば、これが私のお気に入りです。
このコンテキストでのモデルとパラメーターの違いについて誰かが一言言うことができれば、これはさらに役に立ちます!