Struts action call in a JS method returns blank page 2007-02-07 - By Musachy Barroso
Back When you post the form, after the action, struts will send a response, usually a page. Because you don't want to change the current page, you could do this by making an asynchronous request. I'm probably wrong, but I don't think you can make a post, and stay on the same page (unless you are returning the same page from the action of course).
regards musachy
Christopher Loschen wrote: > Hi all, > > > > I'm honestly unsure if I'm having a problem with Struts (sadly, 1.1) or > with Javascript, or something else. But my best guess is it's a Struts > issue, and anyway, there are a lot of very knowledgeable people on both > of those technologies here, so I hope someone can help. Bottom line: I'm > getting the popup with the correct values, but my main page under the > popup becomes blank. > > > > I'm adding some functionality to an existing application. The > functionality I'm adding takes the values from some checkboxes on page > A, gets the corresponding devices from the checkbox values, and saves > the resulting List into the request. Later down the stream, other code > gets those values again and uses them as a list of devices on which to > perform an action. Pretty straightforward. > > > > All of the actual navigation is happening via Javascript calls, starting > with a link on page A, but outside the form where my checkboxes are > declared. That link fires a Javascript function which pops up a small > window with a list of actions which have been defined. If the user then > clicks on one of those actions, another Javascript function fires which > pops up another window to confirm that the user wants to perform the > selected action on the selected devices. > > > > I have inserted my added functionality into that second script. > Basically I need to submit the appropriate form on the page. I've > defined it with the correct action and I've got a mapping in my > struts-config.xml file: > > > > <form-bean > > name="service.device.selected-devices-form" > > type="com.xxx.webapp.common.CheckboxForm"/> > > ... > > <action path="/service/device/actions/store-selected-devices" > > > type="com.xxx.webapp.service.list.StoreSelectedDevicesAction" > > name="service.device.selected-devices-form" /> > > > > The mapping doesn't have any action forwards defined because it doesn't > actually need to go anywhere (though that might be part of my problem). > The JS function looks like this: > > > > function popActionConfirm(url) { > > > > var form = document.forms['service.device.selected-devices-form']; > > if (form!=null) form.submit(); > > > > var winl = (screen.width - 500) / 2; > > > > var wint = (screen.height - 350) / 2; > > > > winprops = > 'height=250,width=375,top='+wint+',left='+winl+',scrollbars=0,resizable= > 0'; > > > > var child = window.open(url,"action_confirm", winprops); > > > > self.name="main_window"; > > > > } > > > > I added the first two lines of the JS method - it worked correctly > before I put those in (though of course it didn't have my added > functionality in place). The popup window does appear, and it has the > correct values in it (that is, the devices which were selected). But the > main window goes blank where before it remained unchanged. When I've > seen blank pages like this before, it meant there was a bad action > forward in the struts-config file, but I don't want the main page to > change at all, so what I really want is for the main page to just stay > in place as it was before the form was submitted. > > > > How do I go about doing that? Thanks! > > > > Chris Loschen > > > > > > >
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To unsubscribe, e-mail: user-unsubscribe@(protected) For additional commands, e-mail: user-help@(protected)
|
|