Description
When submitting input fields with AJAX the ampersand "&" character is not handled properly on client side.
A test case ist attached. Just submitting the form works as expected, submitting by AJAX
fails if input contains "&"-signs, like "foo&bar".
It tracked this down to the function decodeEncodedValues in FileUtils.ts. There happens a
decode of the current ViewState in URI-encoded format.
Basically the source of the issue is that the input string (in "encoded") is processed in wrong order.
Currently it is first URI-decoded an then splitted by ampersands ("&"). It has to be in
reverse order, since the payload may contain ampersands, which are URI-encoded by "%26".
A small working patch for demonstration is attached.