Servlet 3.1 presenta un cambio respecto a cómo se procesa el elemento <absolute-ordering> cuando el archivo web.xml contiene el atributo metadata-complete="true".
En Servlet 3.0, cuando el atributo metadata-complete se establece en "true", se utilizan todos los archivadores de fragmentos web. En Servlet 3.1,
el elemento <absolute-ordering> se considera completado, lo que hace que los fragmentos web que no se listan en el elemento <absolute-ordering> se excluyan del proceso.
La característica Servlet 3.1 podría cambiar el comportamiento existente de la aplicación excluyendo fragmentos web que se incluían anteriormente.
Esta regla marca el elemento <name>B</name> en el archivo web-fragment.xml si el archivo web.xml
contiene el atributo metadata-complete="true" y el elemento <absolute-ordering> no contiene una entrada para el nombre de fragmento web.
El ejemplo siguiente muestra el cambio de comportamiento cuando se utiliza una combinación de un archivo web.xml y de un archivo 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"> < fragmento-web> < /span> < span class= "XmlElement"> < name> < /span> B < span class="XmlElement"> < /name> < /span> < span class= "XmlElement"> < /web-fragment> < /span>
En Servlet 3.0, el fragmento web B se incluye en el proceso. En Servlet 3.1 no se incluye. Para incluir el fragmento web B en el proceso, añada un elemento <name>B</name> en la posición adecuada en el elemento <absolute-ordering> del archivo web.xml.
Para obtener más información sobre los cambios de comportamiento de Servlet 3.1, consulte el recurso siguiente: Cambios de comportamiento de Servlet 3.1.