1

アップローダーを管理するクラスがあります。それはプラグイン file-uploader を利用し、アプリケーションの他の情報とルールを補完します。

アプリケーションの一部の動作を管理するサービスを作成しようとしていますが、「サービス」がコントローラーで使用される一部のメソッドを認識しないことに気付きました。たとえば、メソッド「リダイレクト」はコントローラーでのみ機能し、サービスでは認識されません。

私のサービスの 1 つで、「ファイル」タイプのファイルをパラメーターとしてサービスに転送しますが、この「ファイル」を「OriginalFilename」、サイズなどの属性として「サービス」で認識しません。「ファイル」からこれらの属性を取得する方法と、「リダイレクト」としてのこれらのメソッドが「サービス」で認識される方法を教えてください。

4

1 に答える 1

5

Grails でのコントローラーとサービスの役割について少し混乱しているようです。

通常のパターンでは、Controller がユーザーのブラウザから送信された情報を取得 (バインド) し、それを検証してから、必要に応じて Service メソッドを呼び出してそのデータを処理します。サービス メソッドが戻ると、コントローラはビ​​ューをレンダリングするか、転送するか、リダイレクトします。

したがって、サービスはリダイレクトを試みるべきではありません。これはコントローラーの仕事であり、その機能がサービスで利用できない理由です。

于 2012-10-18T02:14:09.330 に答える