現在、使用している 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 は、データベースから取得され、次の形式で送信されるデータセットです [ this is a title ]。そのため、文字列の前後に角括弧があり、単語は空白で区切られています。
パラメータがネストされた状態で g:link を介してリンクを作成している場合、データベースから取得されるときに URL に挿入されます。私が試みているのは、SEO-URL を作成することです。これは、URL エンコードされた「%20」ではなく、ハイフンで区切られた出版物の特定のタイトルを表示します。
これまでは、次のような動的 URL を生成できました。
http://localhost:8080/projectname/show/%5BAllgemeine%20Bevölkerungs[...]/782/...PARAMS...
さらに、静的である必要があり、ユーザーがリンクをコピーしてページを開くことができる必要がありますが、JQuery を介して既に実装しています。ページの読み込み中にクライアント側で URL を変更する場合は不可能です。
replaceAll.(' ', '-') のような関数を定義する方法はありますか?これをマッピングのパラメーターに呼び出して、空白をハイフンに、fe 角かっこを空の文字に置き換えることができますか? それは、私がドキュメンテーションを通して得ることができなかったものです。
ご協力いただきありがとうございます。