初めまして。桑名と申します。
現在、以下の環境にてwebアプリケーションを作成しています。
Grails2.2
Groovy2.0
Eclipse(Indigo)
Mac OSX(Mountain Lion)
Grailsのソースを直接探った訳ではないのでバグかどうか分かりませんが、ちょっと不思議な動作に行き当たってしまいました。
ちょっと説明しづらいのですが、
1.コントローラからビューにMapを渡す
2.ビューの中のg:eachでそのMapを使う
3.g:eachのループ内で、g:createLinkのparamsに、Map内の各要素のキーを利用する
4.キーの内容によってなぜかクエリストリング(URLの?以降)が作成されない事がある
g:each部分のソースは以下のような感じでです。
Mapの各要素のキー毎にリンクを生成するようにしています。
(debugの中身はMap)
<g:each in="${debug}" status="i" var="record">
<g:createLink controller='hello' action='debug' params='[p:"${record.key}"]' /><br />
</g:each>
この方法だと、Mapのキーによってはクエリストリング(URLの?以降)が生成されない場合があります。
g:linkでも同様にクエリストリングが生成されないようです。
単純にキーの内容${record.key}を表示すると問題なく表示されるので、g:link系の問題なのかなと考えています。
実際に利用したMapの値とg:eachの該当部分はgistに上げました。
https://gist.github.com/koji-k/5033873
もし何かご存知の方がいらっしゃいましたらご教示いただければ幸いです。