如何从不同的控制器获取记录

问题描述 投票:0回答:1

我正在尝试从一个控制器获取一条记录并将其传递到另一个控制器。在主页上,我使用 CaseRecordController.groovy 按 ID 填充信息,如下所示:

def show() {
    def caseRecordInstance

    try {
        def id = Long.parseLong(params.id)
        caseRecordInstance = CaseRecord.findById(id)
    }...
}

然后进入下一个页面,BaseLineController.groovy,它使用相同类型的代码来获取页面的信息:

def show() {
    def baselineInstance
    def caseRecordInstance

    if(params.id) baselineInstance = Baseline.findById(Long.parseLong(params.id))

    try {
        def id = Long.parseLong(params.id)
        caseRecordInstance = CaseRecord.findById(id)
    }...
}

...它适用于获取控制器 ID(这是不同的,因为它使用不同的控制器)。但我想从之前的控制器 CaseRecordController 中获取 ID 来获取该信息。

java groovy grails
1个回答
1
投票

您有 2 个选择:

  1. 将id放入
    session
    并随时从其他地方抓取。
  2. 使用
    flash
    范围执行相同操作,但仅一次。

这就是它的样子:

def showA() {
   session.caseRecordId = params.id
   // or
   flash.caseRecordId = params.id
}

def showB() {
   println session.caseRecordId
   // or
   println flash.caseRecordId // only once
}
© www.soinside.com 2019 - 2024. All rights reserved.