I believe you may be correct with respect to WOActionURL, as it is an element intended to be used in generating HTML. However, I don't agree that directActionURLForActionNamed should be returning URLs with escaped ampersands. There should be a separate method which transforms the URL to escaped the ampersands if you intend to use the URL in HTML.

In any case, this was an undocumented change in behavior with 5.2.4 which broke applications.

On May 26, 2006, at 2:25 AM, Dev WO wrote:

Hello,
This is not a bug!
the & must be escaped in & in a hyperlink, this is the (X)HTML specification. It was broken in 5.2.4 and corrected in 5.3.1 because it's the correct behavior. The remaining bug I know of is when using the href binding with parameters, it leads to & in code which is incorrect, so it sort of a double escape. If you are using formValueForKey it correctly gets every parameters from the DA URL.

Xavier


Le 26 mai 06 à 00:07, Gary Teter a écrit :

Yes, this was broken in 5.3.1, but apparently fixed in 5.3.1. That is, it was broken with the 5.3.1 that was introduced with (if I recall) a Mac OS X Server updated), and may be fixed with the 5.3.1 that was introduced with Xcode 2.3.

(Perhaps Apple has exceeded its version number budget, and so all future WebObjects releases will also be 5.3.1.)

The workaround is to write a method that calls WOContext's directActionURLForActionNamed() and manually munge the URL yourself, e.g., something like:

String url = context().directActionURLForActionNamed ("refreshReminder", getRefreshQueryDictionary());
url = url.replaceAll("&", "&");
return url;

On May 25, 2006, at 2:48 PM, David Haggerty wrote:

We recently upgraded to 5.3.1 from 5.2.4 and are having problems with WOActionURL. We use WOActionURL for Ajax and the & is adding the HTML escape in 5.3.1 but never did this in 5.2.4. This is causing it to not
find the session and the URL is then invalid.

Any ideas?  Is this a bug in 5.3.1?

Thanks in advance,
David

5.3.1:
.../wa/org.yfu.ui.announcement.ReminderDA/refreshReminder? id=46002395450
30766980&wosid=B6fPodDWHmwlDcUs54Uaj0
5.2.4:
.../wa/org.yfu.ui.announcement.ReminderDA/refreshReminder? id=46002395450
30766980&wosid=B6fPodDWHmwlDcUs54Uaj0


ActionURL1: WOActionURL {
        actionClass = "org.yfu.ui.announcement.ReminderDA";
        directActionName = "refreshReminder";
        queryDictionary = refreshQueryDictionary;
}

public NSDictionary getRefreshQueryDictionary(){
return new NSDictionary(getReminderIterator().getId(), "id");
}

--
WireHose: Smart metadata and personalization for WebObjects.
http://www.wirehose.com/

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40anazys.com

This email sent to [EMAIL PROTECTED]



--
WireHose: Smart metadata and personalization for WebObjects.
http://www.wirehose.com/

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to