正确解码Grails URL参数?

问题描述 投票:2回答:3

在我的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&amp;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中,我有类似以下内容:

grails grails-2.0 grails-controller
3个回答
1
投票

问题是您将链接呈现为gsp中的字符串,因此grails在打印出来之前对其进行编码。您甚至都不需要链接,只需尝试


1
投票

您也可以关闭该特定页面的默认编码。


0
投票

我不知道这个问题仍然存在,但是有人可能会坚持这个问题。因此解决方案是将链接生成的代码包装到raw()函数中:

© www.soinside.com 2019 - 2024. All rights reserved.