我目前正在尝试弄清楚如何修改集成到我正在使用的 URL 映射中的参数。
static mappings =
{
"/$controller/$action?/$id?/(.$format)?"
{
constraints {
// apply constraints here
}
}
name test1: "/.../$title/..."{
controller = "study"
action = "st_show"
}
name test2: "/.../$title/..."{
controller = "search"
action = "se_show"
}
参数 $title 几乎是一个数据集,它是从数据库中提取的,并将以下列格式传输[这是一个标题]。所以字符串前后都有方括号,单词之间用空格隔开。
如果我现在通过 g:link 创建一个链接,其中嵌套了参数,它会在从数据库中提取时被放入 url。我正在尝试创建 SEO-URL,它将显示由连字符分隔的出版物的某个标题,而不是 url 编码的“%20”。
到目前为止,我能够生成如下所示的动态 url:
http://localhost:8080/projectname/show/%5BAllgemeine%20Bevölkerungs[...]/782/...PARAMS...
此外,我已经通过 JQuery 实现了它,尽管它应该是静态的,并且用户应该能够复制链接以自己打开页面 - 在加载页面时更改 url 客户端时这是不可能的。
有没有办法用 replaceAll.(' ', '-') 之类的函数定义函数,可以在映射中的参数上调用该函数以用连字符替换空格,用空字符替换 fe 方括号?这几乎是我无法通过文档获得的。
预先感谢您的帮助!