1

为了在项目中维护当前的一组 Url,我必须能够在 Url 中使用#(井号)。出于某种原因,井号在 UrlMappings.groovy 的这个项目中似乎无法正常工作。

在UrlMappings.groovy中放置 # 符号时是否必须使用特殊的转义序列

我是否错过了为什么一个人根本不能使用英镑符号的一些原因?

在以下 URL 映射示例中,浏览器转到正确的页面,但 pageName 变量为空:

"/test/${urlName}#/overview"(controller:'test', action:'overview') {
    pageName = "overview"
}
4

2 回答 2

3

我认为 url 中 # 之后的所有内容都将在浏览器的客户端处理,它会尝试查找 a 并滚动到该位置。

如果你转储包含磅字符的请求,你甚至看到#后面的数据吗?

于 2011-04-27T11:46:30.630 回答
0

我使用了命名 URL 映射,它工作正常,无需转义“#”符号:

name test: "/#abc" (controller: 'test', action:'homepage')

编辑:我上面的答案是错误的。实际上,当主页是视图的默认操作时,它属于一种特殊情况。

Netbrain 是对的,“#”后面的路径永远不会发送到服务器。相反,我发现可以使用“%23”而不是“#”。请看这里

例如,/test#/abc我们不应该使用/test%23/abcURL 映射(在客户端和服务器端)。

于 2011-04-27T09:41:09.950 回答