1

我刚刚从我的 bootstrap.groovy 中发现了烦人的错误。例如,如果我犯了一个错误,例如未声明的变量,应用程序会继续运行,然后当我尝试从 Web 访问应用程序时,它会显示

HTTP 状态 404 -

类型状态报告

信息

描述 请求的资源 () 不可用。Apache Tomcat/6.0-snapshot

在控制台中没有出现错误消息......所以它让人困惑。假设我编辑了 10 个引导程序,其中一个我确实犯了错误,找到那个小错误会变得非常困难。

知道如何解决这个问题吗?这是显示这些错误的提示吗?

4

2 回答 2

3

我不知道您在引导程序中正在做什么,但是如果在您保存域对象时它失败了,那么您可以像在控制器中一样将这些记录为错误。如果您希望错误转到控制台,只需设置一个控制台附加程序:

//Remember, save calls validate()
if(!myObject.save()) {
    myObject.errors.allErrors.each {
        log.error it
    }
}

参考:

于 2010-08-26T15:27:00.290 回答
0

对于其他时间使用,您不仅可以在 myObject.save() 之类的域对象上使用此显示错误方法,还可以在任何具有异常或类似服务的方法上使用此方法:

def searchService 

searchService.search(person)  // inside hibernate create criteria or any db actitvity or ...

seachService.errors.allErrors,each {
flash.message = message(code:'default.search.error.message',default : it) //see it in freindly view
 //Or println("${new Date()}"it)
}



you need a lable flash message on your in case of other files than bootstrap 

<g:set var="entityName" value="${message(code: 'domainClassName.label', default: 'what ever')}" />
        <title><g:message code="default.list.label" args="[entityName]" /></title>


    <h1><g:message code="default.list.label" args="[entityName]" /></h1>
            <g:if test="${flash.message}">
            <div class="message" role="status">${flash.message}</div>
            </g:if>
于 2013-06-10T08:01:40.337 回答