我是否需要在Grails中返回"渲染"?

Rya*_*nch 20 grails groovy

那回归是必要的吗?让我们说它正处于行动的中间.

render(contentType:'text/json', text: ['success': true] as JSON)    
return
Run Code Online (Sandbox Code Playgroud)

Dón*_*nal 28

如果你没有返回,之后的任何代码render也将被执行,这通常不是你想要的,例如

def someAction = {

  if (someCondition) {
    render view: 'success'
    // if we don't return execution would fall through to the code below
    return  
  }

  log.error 'something went wrong'
  render view: 'error'
}
Run Code Online (Sandbox Code Playgroud)

当然,如果您使用此样式,则无需返回

def someAction = {

  if (someCondition) {
    render view: 'success'

  } else {    
    log.error 'something went wrong'
    render view: 'error'
  }
}
Run Code Online (Sandbox Code Playgroud)

如果某个操作只有一个退出点,则无需返回 render

def someAction = {
    render view: 'success'
}
Run Code Online (Sandbox Code Playgroud)

请记住,render如果您不返回,将执行后面的代码.