I have a search form which displays results in two
tables on the same page. Because two forms exist on the
same page, they need individual identifiers
(id="something") so that the sorting parameters go to
the right table.
However, the version of
ValueListRequestUtil.buildValueListInfo(Request,
String) calls getRequestParameterMap which filters out
all parameters that do not end with the table
identifier. Therefore, none of the form parameters get
passed to the table.
It should be noted that this is NOT a problem with the
table rendering, but with the filters. Because the
table passes through all includedParameters, all form
parameters will make it through.
Possible resolutions:
1) Allow an overloaded ValueListHandler.getValueList to
be passed an object as the developer sees fit. This
will give the adapter the freedom to process with
additional info that is not dependent upon the request.
Most likely, a kind of ValueObject could be sent in.
2) Contain a second backup map which contains ALL the
parameters regardless of table identifier.
Logged In: YES
user_id=1340381
Correction to first paragraph: "Because two [tables] exist
on the
same page...."
Logged In: YES
user_id=1340381
The following attachment is a proposed fix to this bug.
The handler reacts differently to parameters when the table
has an ID associated with it. The symptom is that any
parameter that does contain the ID does not make it into the
parameter map, which is not correct, for it excludes other
parameters not associated with the table.
Updated method