在我的GSP中,我有类似的内容:
<head>
<meta property="og:image"
content="${createLink(controller:'main', action:'getImage', id:item.id, params:[width: 115, height:200], absolute : true)}" />
</head>
[当我查看生成的代码时,我发现:
<meta property="og:image"
content="http://www.myurl.com/main/getImage/faf878ef93996f26c1?width=115&height=200" />
此问题是里面有一些amp]]值。
在我的控制器中:
参数看起来像这样:
[width:115, amp;height:200, id:faf878ef93996f26c1, action:getImage, controller:main]
问题在于,由于有放大器,params.height不再起作用;再次。
如何正确解码该网址?有没有办法使Grails不放置放大器?里面的网址?
当我在GSP正文中执行以下操作时:
<body> ${createLink(controller:'main', action:'getImage', id:item.id, params:[width: 115, height:200], absolute : true)}" </body>
我得到正确的网址:
http://www.myurl.com/main/getImage/faf878ef93996f26c1?width=115&height=200
为什么Grails将这些网址设置为不同?如何解决?
在我的GSP中,我有类似以下内容:
问题是您将链接呈现为gsp中的字符串,因此grails在打印出来之前对其进行编码。您甚至都不需要链接,只需尝试
您也可以关闭该特定页面的默认编码。
我不知道这个问题仍然存在,但是有人可能会坚持这个问题。因此解决方案是将链接生成的代码包装到raw()函数中: