Message:
The following issue has been resolved as CANNOT REPRODUCE.
Resolver: fabrizio giustina
Date: Thu, 30 Dec 2004 12:09 PM
this works for me, and the proposed patch seems to have no effects.
I added a testcase for the addParameter method in Href, please check it to see
if it correctly reproduces your test case:
org.displaytag.util.HrefTest.testAddParameterMapMultiValue()
In your patch you simply replaced
this.parameters.put(key, value);
with
this.parameters.put(key, values);
but this has no effects since "value" and "values" referes to the same object:
String[] values = (String[]) value;
---------------------------------------------------------------------
View the issue:
http://jira.codehaus.org/browse/DISPL-163
Here is an overview of the issue:
---------------------------------------------------------------------
Key: DISPL-163
Summary: request parameters not apanded correctly for paging links
Type: Bug
Status: Resolved
Priority: Major
Resolution: CANNOT REPRODUCE
Original Estimate: Unknown
Time Spent: Unknown
Remaining: Unknown
Project: DisplayTag
Components:
Paging/Sorting
Fix Fors:
1.0
Versions:
1.0 RC2
Assignee: fabrizio giustina
Reporter: abhishek sehgal
Created: Thu, 30 Dec 2004 8:41 AM
Updated: Thu, 30 Dec 2004 12:09 PM
Description:
We are trying to work around and use display tag to implement the display of
dynamic colums. i.e. out of the available columns we display tonly the columns
selected by the user. This works fine for the first page of the results, as teh
column names are available in request but it does not work for the paging links
as the values for a multi value parameter 'tofield' are lost.
I have fixed this issue by making the following change to Href.java
public void addParameterMap(Map parametersMap)
{
// handle nulls
if (parametersMap == null)
{
return;
}
// copy value, escaping html
Iterator mapIterator = parametersMap.entrySet().iterator();
while (mapIterator.hasNext())
{
Map.Entry entry = (Map.Entry) mapIterator.next();
String key = StringEscapeUtils.escapeHtml((String) entry.getKey());
// don't overwrite parameters
if (!this.parameters.containsKey(key))
{
Object value = entry.getValue();
if (value != null)
{
if (value.getClass().isArray())
{
String[] values = (String[]) value;
for (int i = 0; i < values.length; i++)
{
values[i] = StringEscapeUtils.escapeHtml(values[i]);
}
this.parameters.put(key, values);
}
else
{
value = StringEscapeUtils.escapeHtml(value.toString());
this.parameters.put(key, value);
}
}
}
}
}
For multi value parameters the original code was escaping the HTML and
assigning into values but was still adding the value array. I changes the code
to add the values array in case we have a multi value parameter. I have this
code available. Either you can make the change available in a new release or
let me know a way I can submit this code. I tried to connect to the cvs
repository as an anonymous user but got a login failure.
The fix is important as this is required to pass parameters with special
characters in the paging links.
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
displaytag-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/displaytag-devel