在'服务'中插入'控制器'方法

时间:2012-10-18 02:07:06

标签: grails grails-2.0 grails-controller

我有一个管理我的上传者的课程。它利用了插件文件 - 上传器,并补充了我的应用程序的其他信息和规则。

我正在尝试创建管理应用程序某些行为的服务,并注意到“服务”和“服务”。无法识别控制器中使用的某些方法。方法'重定向'例如,仅适用于控制器,在服务中无法识别。

在我的一项服务中,我会转发一个类型为' File'的文件。作为服务的参数但属性为''文件'因为' OriginalFilename',尺寸等在“服务”中无法识别。有人可以告诉我如何从“文件”中获取这些属性。以及这些方法作为“重定向”#39;在服务'?

中得到认可

1 个答案:

答案 0 :(得分:5)

听起来你可能对Grails中控制器与服务的角色有点混淆。

通常的模式是Controller获取用户浏览器发送的信息(绑定),验证它,然后在必要时调用Service方法对该数据执行某些操作。一旦服务方法返回,Controller就会呈现视图,转发或重定向。

因此,您的服务不应该尝试重定向。这是控制器的工作,这就是为什么您的服务无法使用该功能的原因。