AEM wcm.io测试Sling MockProperty名称编码问题

时间:2018-03-26 10:31:42

标签: aem sling

我遇到了MockProperty实现的问题。我的测试目前失败了,因为出于某种原因,':'被编码为'%3A'。为什么会发生这种情况?我该如何做到这一点?

注意:在我的运行代码中(测试之外),这一切都很好。

properties

debug

Resource resource = resourceResolver.getResource("path_to_a_valid_resource_here");
Node node = resource.adaptTo(Node.class);
PropertyIterator properties = node.getProperties();
while (properties.hasNext()){
    Property property = properties.nextProperty();
    String name = property.getName();
}

1 个答案:

答案 0 :(得分:1)

返回的String是UTF-8编码的。您可以通过调用String name = URLDecoder.decode(property.getName(), "UTF-8");

获取解码后的值

为什么首先对此进行编码对我来说是未知的,但我的猜测是将属性名称视为URL并随后在ASCII集中进行编码,从而将:转换为{{ 1}}