Verificaţi modificarea de comportament în procesarea elementului ordonare absolută

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.