我正在为OCEJWCD做准备。我提出了这个问题。不知道答案是什么,我想正确的答案是,顺序是无法预测的。是谁帮我理解的wrong.Can,
问:在一个应用程序中,有三个web片段.如下所示。这些描述符的解析顺序。考虑到在web.xml中没有无节制的排序。
Web片段A
<web-fragment>
<name>A</name>
<ordering>
<before>
<others/>
<name>B</name>
</before>
</ordering>
Web-片段B:
<web-fragment>
<name>B</name>
<ordering>
<before>
<others/>
<name>C</name>
</before>
</ordering>
Web-片段C:
<web-fragment>
<name>C</name>
<ordering>
<before>
<others/>
</before>
</ordering>
提前谢谢。
发布于 2017-02-28 07:44:12
从规格
表示必须在文档之前对文档进行排序,其名称必须与嵌套元素中指定的名称匹配。
有一个特殊的元素,它可以在or元素中包含0或1次,或者在元素中直接包含0或1次。元素必须按以下方式处理。
如果元素包含嵌套的元素,则文档将移动到排序文档列表的开头。如果有多个文档声明,它们都将位于排序文档列表()的开头,但此类文档组中的排序未指定.。
这清楚地表明,A,B和C之间的顺序不是确定性的。
但还有这一节
在或元素中,如果存在一个元素,则但不是其父元素中唯一的元素,则必须在排序过程中考虑该父元素中的其他元素。
现在,A和B都属于这一类,它们的web片段还有一个元素。在这种情况下,规范指出在订购过程中必须考虑其他元素。所以A应该在B之前,B应该在C. Voila之前,它现在是确定性的,顺序是
为了进行测试,我们可以编写3个过滤器,并在每个web片段中定义一个过滤器,并检查加载顺序。
https://stackoverflow.com/questions/42501086
复制相似问题