在studentRegister
控制器界面
def save() {
def studentRegister=studentRegisterService.serviceRegisterSave(params)
}
在studentRegisterService
班级
def serviceRegisterSave(params){
// get the params and do operation
}
我可以从控制器接口到服务类接收参数吗?我怎样才能通过哪个范围?
答案 0 :(得分:1)
试试这个:
import org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap
class StudentRegisterService {
def serviceRegisterSave(GrailsParameterMap params){
// get the params and do operation
}
}
答案 1 :(得分:1)
是,您可以传递请求范围内的参数。在Grails 2.2.1中,我在MyController中完成了这个。
def flag = myService.saveSomething(params)
在MyService中。
def saveSomething(params){
}
因为param map是由grails通过请求对象提供的。 Refer docs
但你应该这样做吗?不。在服务中传递params不是一个好习惯
建议从控制器中的params中提取所需的值,然后将其传递给您的服务
答案 2 :(得分:0)
你可以用这个
//in controller same as yours
def save() {
def studentRegister=studentRegisterService.serviceRegisterSave(params)
}
//change your service as below given
def serviceRegisterSave = { params ->
// get the params and do operation
}