В настоящее время я пытаюсь выяснить, как изменить параметр, интегрированный в сопоставление 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.(' ', '-'), которую можно вызвать для параметра в сопоставлении, чтобы заменить пробелы дефисами и т.е. квадратные скобки с пустым символом? Это в значительной степени то, чего я не смог найти в документации.
Заранее благодарю за помощь!