如何重定向两个操作而不是一个操作

时间:2012-06-29 05:12:14

标签: grails

这是我的控制器:

def save = {
    def productNameInstance = new ProductName(params)
    if (pharmacyMasterUpdateCompositeService.addProductName(productNameInstance)) {
        flash.message = "${message(code: 'default.created.message', args: [message(code: 'productName.label', default: 'ProductName'), productNameInstance.id])}"
        redirect(action: "show", id: productNameInstance.id)
    }
    else {
        render(view: "create", model: [productNameInstance: productNameInstance])
    }
}

其中addProductName(productNameInstance)正在调用另一个类中定义的服务。 这里,如果您看到重定向仅在动作中发生:“show”是否创建了页面。 我的问题是如何在“打印”动作下载pdf文件的同时重定向“show”和“print”两个动作?

1 个答案:

答案 0 :(得分:-1)

您可以使用chain方法。

def save = {
def productNameInstance = new ProductName(params)
if (pharmacyMasterUpdateCompositeService.addProductName(productNameInstance)) {
   //...        
  chain(action: "print", params: [id: roductNameInstance.id])
}
else {
    render(view: "create", model: [productNameInstance: productNameInstance])
}

def print = {
//...
chain(action: "show", params: params)
}

def show  = {  }


}