如何更改Glassfish的默认错误页面?

时间:2010-02-23 11:04:34

标签: grails glassfish

我正在编写Grails应用程序,有时会响应422 http状态代码(在无效的AJAX调用上)。在Glassfish上部署时,容器在我的视图呈现文本后包含默认错误页面。

如何更改此行为?

此致 塔尔莫

3 个答案:

答案 0 :(得分:2)

如果您想为整个域更改它(下面的解决方案仅适用于特定的应用程序上下文),您需要调整 domain.xml

...
 <config name="server-config">
 <http-service>
 <access-log />
 <virtual-server id="server" network-listeners="http-listener-2,http-listener-1">
 <property name="send-error_1" value="code=404 path=/tmp/404.html reason=Resource_not_found" />
 </virtual-server>
 <virtual-server id="__asadmin" network-listeners="admin-listener" />
 </http-service>
...

(如How to change default error page(status 404 - not found) in GlassFish 3.0.1 Community Edition?

答案 1 :(得分:1)

在web.xml中添加<error-page>元素应该有效:

<error-page>
  <error-code>422</error-code>
  <location>location_of_your_custom_error_page</location>
</error-page> 

为此,请运行:

grails install-templates

修改

src/templates/artifacts/war/web.xml 

答案 2 :(得分:1)

在Grails应用程序中,您可以通过在grails-app/conf/UrlMappings.groovy中创建响应代码URL映射来配置错误代码映射。此URL映射可以让您map a status code to an error page specific to that code

class UrlMappings {
    static mappings = {
        "422"(controller:"errors", action:"my422Error")
        ...
    }
}