Spring MVC で「URL 名」を URL にマップする方法があるかどうか疑問に思っています。例えば:
list_users -> /admin/users/list
edit_user?id=123 -> /admin/users/edit/123 (or /users/edit?id=123)
list_programs -> /admin/programs/list
私はPHPのバックグラウンド(特にSymfony)から来ました。各URL /アクションには「ルート名」があり、ビューテンプレートでURLを作成できます。Symfony では、テンプレートで次のようにします。
{{ path('user_edit', { 'id' : 123} }}
//output = /admin/users/edit/123
URL は必ずしも RESTful である必要はありませんが、Spring MVC でこのようなことが実現できるのではないかと考えています。
私が考えた可能な解決策:
次のように、プロパティ/メッセージファイルにリストされた URL を保持します。
url.users.edit=/admin/users/edit/{id}
url.users.list=/admin/users/list
次に、<spring:message code="url.users.list" />
またはこのようなものを使用して URL を生成します。これはすでに一般的に受け入れられている解決策ですか? これはおそらく悪い習慣ですか?
私が尋ねている理由は、完全な URL を JSP 全体に分散させるのは悪い習慣のように思えるからです。「/admin」サブディレクトリの下に 25 個の URL があり、それらを別のサブディレクトリ (「/backend」など) に移動したい場合はどうなりますか。
この記事のどこかに重複した投稿がある場合、または見落としている簡単な解決策がある場合はご容赦ください。ただし、特定の回答を見つけるのは難しいトピックです。
ありがとう!