The following comment has been added to this issue:
Author: Rick Herrick
Created: Fri, 14 Jan 2005 5:37 PM
Body:
As an extra bit of info for this problem, we're at Epicentric 4.0 or 4.1 for
production, but we've started using Vignette 7.1 in development. 7.1 still has
the same problem.
---------------------------------------------------------------------
View this comment:
http://jira.codehaus.org/browse/DISPL-170?page=comments#action_28970
---------------------------------------------------------------------
View the issue:
http://jira.codehaus.org/browse/DISPL-170
Here is an overview of the issue:
---------------------------------------------------------------------
Key: DISPL-170
Summary: Use of the TagConstants.AMPERSAND tag causes proxied displaytag
hrefs to fail
Type: Bug
Status: Unassigned
Priority: Minor
Original Estimate: Unknown
Time Spent: Unknown
Remaining: Unknown
Project: DisplayTag
Components:
HTML Generation
Fix Fors:
1.1
Versions:
1.0
Assignee:
Reporter: Rick Herrick
Created: Sat, 8 Jan 2005 2:11 PM
Updated: Fri, 14 Jan 2005 5:37 PM
Description:
I have used displaytag to create a set of portlets that are hosted on a Tomcat
server and accessed through an Epicentric portal. Some of these portlets
contain tables that are generated through displaytags. The hrefs that are
generated on these tables end up with the href parameters separated by "&".
This works OK as long as the hrefs are accessed directly.
The problem is that, when the Epicentric portal (and most other portals) access
the portlet, it transforms the direct href into a parameter to a portal-proxied
href. For example, in this particular case, an href that appears as something
like this:
http://torahmdfmnzj21:8080/Promotions/detailList.do/detailList.jsp?param1=A¶m2=B
gets transformed into this:
index.jsp?epiproxyrealurl=http%3a%2f%2ftorahmdfmnzj21%3a8080%2fPromotions%2fdetailList%2edo%2fdetailList%2ejsp%3fparam1%3dA%26param2%3dB
The problem comes when displaytag generates sort links for table headings. The
bare href looks like this (note that I'm making these up, they're not actual
hrefs, just something similar):
http://torahmdfmnzj21:8080/Promotions/detailList.do/detailList.jsp?d-2371270-o=1&d-2371270-s=2
The devil comes with the "&" used as the parameter separator, which results
from using TagConstants.AMPERSAND in the Href.toString() method. The portal
transforms this into:
index.jsp?epiproxyrealurl=http%3a%2f%2ftorahmdfmnzj21%3a8080%2fPromotions%2fdetailList%2edo%2fdetailList%2ejsp%3fd-2371270-o%3d1%26amp;d-2371270-s%3d2
This time when it posts back, that %26amp; doesn't get transformed into &
and then plain & by the browser. Instead the ampersand performs its function
separating parameters, while the "amp;" becomes part of the following
parameter, meaning that you get a request parameter like this:
amp;d-2371270-s
Each time you click the link, it'll post back and the "amp;" accretes,
resulting things like:
amp;amp;amp;amp;d-2371270-s
The fact that "&" works as a parameter separator in the browser is
dependent on the fact that the browser will transform that properly. In fact,
it is technically correct only to use the '&' directly in the URL. The
TagConstants.AMPERSAND should either be changed to be "&" or '&' should be used
directly in the Href.toString() method, just as '?' and '=' are.
---------------------------------------------------------------------
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