grails webflow中的sendResponse

时间:2013-03-07 10:39:38

标签: grails

我想通过检查参数是否有效来检查是否允许用户启动流程。如果不是,我将发送错误404.但是在webflow中,错误响应将不会被发送。

Webflow始终返回状态200。

有人有解决这个问题的方法吗?

def shortShopFlow = {
        onStart {
                log.info("starting a new shoppingCart traject")
                Boolean isValidShop = shopService.isValidShop(params.code as String, params.token as String)
                sessionFactory.currentSession.clear()

                if (!params.code || !isValidShop) {
                    response.sendError(404)
                    return
                }
        }

1 个答案:

答案 0 :(得分:1)

你可以做点什么:

MyController{        
  def shortShopFlow = {
    onStart {
            log.info("starting a new shoppingCart traject")
            Boolean isValidShop = shopService.isValidShop(params.code as String, params.token as String)  
            sessionFactory.currentSession.clear()  

            if (!params.code || !isValidShop) {  
                return 404();
            }
           on('404').to ('pageNotFound');
    }
    pageNotFound{
        redirect(action: 'fourZeroFour');
    }
    def fourZeroFour = {
      response.sendError(404);
    }
}

希望这有帮助。

Minhaj