Servlet 3.1 introduit un changement de traitement de l'élément <absolute-ordering> lorsque le fichier web.xml contient l'attribut metadata-complete="true".
Dans Servlet 3.0, lorsque l'attribut metadata-complete est défini sur "true", toutes les archives de fragment Web sont utilisées. Dans Servlet 3.1,
l'élément <absolute-ordering> est considéré comme complet, ce qui entraîne l'exclusion des fragments web qui ne sont pas répertoriés dans l'élément <absolute-ordering> du traitement.
La fonction Servlet 3.1 peut modifier le comportement d'une application existante en excluant les fragments web inclus précédemment.
Cette règle marque l'élément <name>B</name> dans le fichier web-fragment.xml si le fichier web.xml contient l'attribut metadata-complete="true" et que l'élément <absolute-ordering> ne contient pas d'entrée pour le nom du fragment Web.
L'exemple ci-dessous montre le changement de comportement lorsque vous utilisez une combinaison d'un fichier web.xml et d'un fichier web-fragment.xml :
web.xml:
< span class= "XmlElement"> < absolute-ordering> < /span> < span class= "XmlElement"> < name> < /span> A < span class="XmlElement"> < /name> < /span> < span class= "XmlElement"> < others/> < /span> < span class="XmlElement"> < /absolute-ordering> < /span>
web-fragment.xml:
< span class= "XmlElement"> < web-fragment> < /span> < span class= "XmlElement"> < name> < /span> B < span class="XmlElement"> < /name> < /span> < span class= "XmlElement"> < /web-fragment> < /span>
Dans Servlet 3.0, le fragment Web B est inclus dans le traitement. Dans Servlet 3.1, il n'est pas inclus. Pour inclure le fragment Web B dans le traitement, ajoutez un élément <name>B</name> dans la position appropriée dans l'élément <absolute-ordering> dans le fichier web.xml.
Pour plus d'informations sur les changements de comportement dans Servlet 3.1, voir la ressource suivante : Changements de comportement dans Servlet 3.1.