marți, 1 septembrie 2015

[OmniFaces utilities 2.2] Convert the given request parameter values map to request query string


[OmniFaces utilities] The toQueryString() method converts the given request parameter values map to request query string. Empty names and null values will be skipped.

Method:
See also: Utils#encodeURL()
Usage:

In OmniFaces 2.0, the toQueryString() method allow empty names and null values to be part of the computed query string. For example, let's suppose that we have a map named, paramMap, which contains the below key-value pairs - the empty names and null values are highlighted. The string representation of this map is (tech, lib, type, version are the keys):

{tech=[JSF], lib=[OmniFaces, PrimeFaces], type=[utility, components], version=[5.0, null], =[5.0, null]}

Now, if we apply the OmniFaces 2.0 toQueryString() method, we have:

import org.omnifaces.util.Servlets;
...
String queryString = Servlets.toQueryString(paramMap);

The resulted query string is - the highlighted part shouldn't be there:
tech=JSF&lib=OmniFaces&lib=PrimeFaces&type=utility&type=components&version=5.0&version=null&=5.0&=null

Now, the improvement added in OmniFaces 2.2 will result in the below output - the empty names and null values are not present anymore:
tech=JSF&lib=OmniFaces&lib=PrimeFaces&type=utility&type=components&version=5.0

Notice that names with empty values are allowed by both versions, Omnifaces 2.0 and 2.2.

Niciun comentariu:

Trimiteți un comentariu