代码之家  ›  专栏  ›  技术社区  ›  nightingale2k1

如何从引导中显示grails错误

  •  1
  • nightingale2k1  · 技术社区  · 14 年前

    我刚从我的电脑里发现了讨厌的虫子引导.groovy. 例如,如果我犯了一个错误,比如未声明的变量,那么应用程序会继续运行,然后当我尝试从web访问应用程序时,它会显示出来

    HTTP状态404-

    说明请求的资源() 不可用。阿帕奇 Tomcat/6.0-快照

    在控制台中没有出现错误消息。。。所以这让人困惑。假设我编辑了10个引导程序,其中一个我确实犯了一个错误,那么就很难找到那个小错误了。

    2 回复  |  直到 9 年前
        1
  •  3
  •   Javid Jamae    14 年前

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

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

    参考文献:

        2
  •  0
  •   Daniel Wondyifraw    11 年前

    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>