【问题标题】:How to fix NullPointerException in sites.html in AEM?如何修复AEM中sites.html中的NullPointerException?
【发布时间】:2016-10-07 14:42:39
【问题描述】:

我突然在 Adob​​e Experience Manager 版本 6.0.0.SP3 中的作者的 sites.html 链接中收到 NullPointerException

有什么想法吗?请帮忙。

Internal Server Error

Cannot serve request to /sites.html/content in /libs/cq/gui/components/siteadmin/admin/pagecard/pagecard.jsp

Exception:

java.lang.NullPointerException
    at org.apache.jsp.libs.cq.gui.components.siteadmin.admin.pagecard.pagecard_jsp.getCommentCount(pagecard_jsp.java:99)
...

【问题讨论】:

  • pagecard.jsp 节点有一个 jcr:content 节点并且权限看起来是正确的。没有拒绝规则。管理员已被授予根路径的 jcr:all 权限。但即使是管理员也遇到了例外。

标签: nullpointerexception aem internal-server-error


【解决方案1】:

我们发现 /content 下的某些页面缺少 jcr:content 节点。 一些现有的 jcr:content 节点缺少 jcr:title 属性。 我们添加了缺少的 jcr:content 节点和 jcr:title 属性。 这解决了这个问题。

注意: 任何站点(特别是子站点)的根目录应在其 jcr:content 中包含以下内容 - 1. 标题 2. cq:allowedTemplates - 专门定义与该站点一起使用的模板。 3. designPath – 定义站点的客户端库,并且可以包含 Sidekick 的选项。

【讨论】:

    【解决方案2】:

    转到文件系统中的 crx-quickstart 文件夹并搜索 pagecard_jsp.java

    第 99 行是什么?我有一个不同的版本,但我猜是这一行:

    Resource commentsResource = page.getContentResource().getChild("alt/comments");
    

    如果此行抛出 NPE,则表示 /content 下的顶级页面之一缺少 jcr:content 节点或该节点已损坏。

    只是胡乱猜测,没有细节。

    【讨论】:

    • 谢谢新航!我在第 99 行看到了不同的代码 AttrBuilder attrs = tag.getAttrs();我将检查所有页面是否存在 jcr:content 节点。
    • 我猜您查看的是 jsp 文件而不是 java 文件。但是,无论如何,请查看所有 jcr:content,因为我可以复制您的问题。请点赞。
    • 你是对的。我们发现 /content 下的某些页面缺少 jcr:content 节点。我们添加了这些节点。一些节点缺少 jcr:title 属性。我们也添加了这个缺失的属性。这解决了这个问题。注意:任何站点(特别是子站点)的根应在其 jcr:content 中包含以下内容 - 1. 标题 2. cq:allowedTemplates - 专门定义与该站点一起使用的模板。 3. designPath – 定义站点的客户端库,可以包含 Sidekick 的选项。
    • 我投了赞成票。我收到以下消息:一旦您总共获得 15 点声望,您的投票将改变公开显示的帖子分数。
    【解决方案3】:

    我认为我们需要在 /content/your-folder/jcr:content 下添加属性为**: jcr:title :给出确切的名称。点击添加并全部保存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 2020-11-26
      • 2019-10-22
      • 1970-01-01
      相关资源
      最近更新 更多