Servlet 3.1 introduce o schimbare în modul în care elementul <absolute-ordering> este procesat când fişierul web.xml conţine atributul metadata-complete="true".
În Servlet 3.0, când atributul metadata-complete este seta la "true", sunt utilizate toate arhivele de fragmente web. În Servlet 3.1,
elementul <absolute-ordering> este considerat a fi complet, ceea ce cauzează fragmentelor web care nu sunt listate în elementul <absolute-ordering>
să fi excluse din procesare.
Caracteristica
Servlet 3.1 s-ar putea să modifice comportamentul aplicaţiei existente prin excluderea fragmentelor web care nu au fost anterior incluse.
Această regulă semnalează elementul <name>B</name> din fişierul web-fragment.xml dacă fişierul web.xml
conţine atributul metadata-complete="true" şi elementul <absolute-ordering> nu conţine o intrare pentru numele
fragmentului web.
Următorul exemplu demonstrează modificarea comportamentului când folosiţi o combinaţie dintre un fişier web.xml şi un fişier 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>
În Servlet 3.0, fragmentul web B este inclus în procesare. În Servlet 3.1, nu este inclus. Pentru a include fragmentul web B în procesare, adăugaţi un element <name>B</name> în poziţia corespunzătoare din elementul <absolute-ordering> din fişierul web.xml.
Pentru informaţii suplimentare despre modificările comportamentului Servlet 3.1, vedeţi următoarea resursă: Servlet 3.1 behavior changes.