您想修饰您的站点并使用时髦的Tapestry页面而不是默认的404错误页面吗?使用现代servlet容器,这很简单!
相关文章
-
页码:24/35
-
页码:24/35
-
页码:24/35
-
页码:24/35
只需将您的应用程序web.xml升级到2.4版本(或更高版本),并进行一些更改:
<?xml version=“1.0”encoding=“UTF-8”?><web-app xmlns=“http://java.sun.com/xml/ns/j2ee“xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"版本=“2.4”>菜谱<上下文图表>挂毯.app-package<param-value>com.example.newapp</context-param><过滤器><filter-name>应用程序</filter-name><!-- org.apache.tapestry5.TapestryFilter如果不是Tapestry 5.7.0+--><filter-class>org.apache.tapestry5.http。TapestryFilter</filter-class></过滤器><过滤器映射><filter-name>应用程序</filter-name><url-pattern>/*<dispatcher>REQUEST(请求)</dispatcher><dispatcher>错误</过滤器映射><错误页面><error-code>404</error-code><位置>/error404</location></error-page></web-app>
Tapestry的过滤器必须标记为标准请求和错误的处理程序。这是通过<调度员>
中的元素<过滤器映射>
部分。
然后必须将错误代码映射到Tapestry URL/错误404
资源,这实际上是“Error404”Tapestry页面。
我们将创建一个简单的Error404页面,其中显示一条消息,并(在开发模式下)显示有关传入请求的详细信息。
<html xmlns:t=“http://tapestry.apache.org/schema/tapestry_5_4.xsd"><头部><title>找不到资源</标题></头><body><div class=“container”><h1>找不到页面或资源</h1><t:if test=“!productionMode”><t:renderobject object=“request”/></t:if></div></body></html>
该页面只提供请求和productionMode属性:
包com.example.newapp.pages;导入org.apache.tapestry5.SymbolConstants;导入org.apache.tapestry5.annotations。财产;导入org.apache.tapestry5.ioc.annotations。注入;导入org.apache.tapestry5.ioc.annotations。符号;//org.apache.tapestry5.服务。如果不是Tapestry 5.7.0,则请求+导入org.apache.tapestry5.services.http。请求;公共类错误404{@财产@注入私人请求请求;@财产@注入@符号(SymbolConstants.PRODUCTION_MODE)私有布尔productionMode;}
最终结果,在何时不在生产模式下,如下所示: