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

isi*_*lva 1 grails grails-controller grails-2.0

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

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

在我的一项服务中,我将转发类型为"文件"的文件作为参数提供给服务,但将"文件"属性设置为"原始文件名",大小等在"服务"中无法识别.有人可以告诉我如何从"文件"中获取这些属性,并将这些方法作为"重定向"在"服务"中识别?

Gre*_*eek 5

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

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

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