我有一个事务控制器,里面有两个操作,编辑和更新。更新操作有一个命令对象参数。如果我在更新操作中调用 transactionStatus.setRollbackOnly(),我会得到 transactionStatus 的 MissingPropertyException。当我有 action 参数时,transactionStatus 不会被注入。同一控制器中的编辑操作(没有任何参数)可以访问 transactionStatus 属性。如果我从有问题的操作中删除参数,则 transactionStatus 变得可用。我想保留参数并在出现错误时能够回滚。
我使用 grailsVersion=3.2.7。这是我的控制器的外观:
import com.sample.MyCommand
import grails.transaction.Transactional
@Transactional
class MyController {
def edit() {
//transactionStatus is available here
}
def update(MyCommand command) {
//transactionStatus.setRollbackOnly() causes
//groovy.lang.MissingPropertyException: No such property: transactionStatus for class: com.sample.MyController
}
}
PS我想用“grails-transactional”标记问题,但它尚未创建。