我正在尝试从一个控制器获取一条记录并将其传递到另一个控制器。在主页上,我使用 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 来获取该信息。
您有 2 个选择:
session
并随时从其他地方抓取。flash
范围执行相同操作,但仅一次。这就是它的样子:
def showA() {
session.caseRecordId = params.id
// or
flash.caseRecordId = params.id
}
def showB() {
println session.caseRecordId
// or
println flash.caseRecordId // only once
}