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

时间:2012-01-03 15:42:49

标签: grails groovy

是否需要返回?让我们说它正处于行动的中间。

render(contentType:'text/json', text: ['success': true] as JSON)    
return

1 个答案:

答案 0 :(得分: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'
}

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

def someAction = {

  if (someCondition) {
    render view: 'success'

  } else {    
    log.error 'something went wrong'
    render view: 'error'
  }
}

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

之后返回
def someAction = {
    render view: 'success'
}

请记住,如果您不返回,render之后的代码将被执行。