1

コントローラー内で request.getServerName() を使用していましたが、関数をサービスに移動しています。アプリが実行されているホスト名を見つけるにはどうすればよいですか?

4

1 に答える 1

1

サービスメソッドがコントローラーアクションからのみ呼び出されることがわかっている場合は、SpringRequestContextHolderを使用して現在の にアクセスし、GrailsWebRequestそこからrequestオブジェクトにアクセスできます。requestただし、コントローラーから を渡すか、単に信頼する方がよい場合がありますgrailsApplication.config.grails.serverURL。理想的には、サービスは Web 層クラスに直接依存しないようにする必要があります。

grailsApplication注入されたもの (コンストラクター、フィールド初期化子、または静的メソッド/クロージャー) を使用できないコンテキストでこの情報が必要な場合は、grails.util.Holders.

于 2012-11-26T14:27:28.490 に答える