I need some help understanding how WebObjects handles backtracked-to page requests. I think I must not be correctly interpreting the documented behavior. In the WO Dev Guide for 4.0, on p.181 (Ch 7, under the heading, "Client-Side Page Caching"), at the bottom of the page, it says: "A WebObjects application handles a page-refresh request differently than it would a standard request. When the application determines that the request URL is identical to one it has previously received (that is, the session and context IDs in the request URL are identical to those in a request it has previously received), it simply returns the response page that was associated with this earlier request. The first two steps of a normal component action request handling loop (value extraction from the request and action invocation) don't occur." But it doesn't look to me like this is the actual behavior: I have an app in which I've setPageRefreshOnBacktrackEnabled:YES, and have a display group whose array is being displayed in a WORepetition. Beside each item in the repetition I have a WOHyperlink whose "action" is bound to a "deleteItem" method. This method "selects" the current WORepetition's "item" (i.e. [displayGroup selectObject:anItem]), then deletes the selected item (with [displayGroup delete]), then saves. If I delete several items, and then start backtracking, my browser resubmits each expired request. For each resubmitted request, the app calls BOTH invokeActionForRequest AND appendToResponse! So what happens is, each time I backtrack, the app calls my deleteItem method, deleting yet-another item from my display group. Is my interpretation of that paragraph from the Dev Guide just totally wrong? I would think, from what it says, that it would call ONLY appendToResponse, to regen the page, but NOT call invokeAction. --- Patrick Robinson Extension Information Systems, Virginia Tech [EMAIL PROTECTED]
