AEM::使用acs AEM commons包进行错误处理
根据这里的定义,我正在尝试为我的应用程序配置错误页面。以下是我所做的: 1) 在页面上定义的/apps/sling/servlet/errorhandler处创建了404.jsp和default.jsp 2) 将以下小部件添加到“高级”选项卡:AEM::使用acs AEM commons包进行错误处理,aem,Aem,根据这里的定义,我正在尝试为我的应用程序配置错误页面。以下是我所做的: 1) 在页面上定义的/apps/sling/servlet/errorhandler处创建了404.jsp和default.jsp 2) 将以下小部件添加到“高级”选项卡: <errorpages jcr:primaryType="cq:Widget" path="/apps/acs-commons/components/utilities/errorpagehandler/dialog/errorpa
<errorpages
jcr:primaryType="cq:Widget"
path="/apps/acs-commons/components/utilities/errorpagehandler/dialog/errorpages.infinity.json"
xtype="cqinclude"/>
不知道如何才能得到视频中显示的漂亮页面
5) 如何使错误消息可编写
提前感谢无需遵循这么多步骤。带有错误处理程序的ACS commons包作为包提供。从中下载此包 文件名为-->acs-aem-commons-content-1.9.6.zip(2.3 MB)。 然后,只需在/apps/myapp/config中使用创建sling:OsgiConfig节点 名称-->com.adobe.acs.commons.wcm.impl.ComponentErrorHandlerImpl。然后将以下配置放入节点中
问题是关于页面错误处理程序的,答案在:组件错误处理程序中提供。这两件事完全不同 CEH在组件范围内处理异常,而as EPH在请求范围内处理异常
当组件发生故障且CEH未处理异常且响应写为500时,将由EPH处理,正如您在页面/content/myapp/en的页面属性的第5步中所说,您已将/content/myapp/en/errors配置为错误页面。此错误页面适用于此路径/content/myapp/en下的子页面。在您的情况下,它将适用于/content/myapp/en/*.html下的所有孩子 例如,它适用于/content/myapp/en/{invalidurl}.html第4点)模板只有一个parsys 是的,您必须配置组件并将其放置在parsys中,就像您在出现错误页面时显示的内容页面一样。错误处理程序使您能够灵活地修改错误页面中显示的内容,使其保持可编写性。您可以为每个有效的HTTP错误更改错误页面的外观 例如,当errorhandler返回实际的404时,我在content/error/404.html页面中创建的任何内容都会显示出来 如果URL无效: 对于第5点),在页面/content/myapp/en的页面属性中,我将/content/myapp/en/errors配置为错误页面。当我尝试访问URL/content/myapp/ent.html而不是/content/myapp/en.html时,要生成404错误,它会抛出一个错误 您在此处所犯的错误是试图访问父页面url。 一种解决方案是将自定义错误页面放置在高于网站内容页面的级别 你可以多次这样做。正如在“为全局错误保留单独的错误页”中一样,其他一些错误页用于myapp,其他一些错误页用于myapp/en,依此类推 因此,如果您看到页面属性中有一个选项卡,您可以在其中创建错误页面根url。这可以根据需要提供不同的URL 比如说,
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
prop.enabled="{Boolean}true"
prop.error-page.fallback-name="500"
prop.error-page.system-path="/content/error"
prop.error-page.extension="html"
ttl="{Long}300"/>
No resource found
Cannot serve request to /content/myapp/ent.html in /apps/sling/servlet/errorhandler/404.jsp