aspose file tools*
The moose likes Struts and the fly likes Force a reload after form submit? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Force a reload after form submit?" Watch "Force a reload after form submit?" New topic
Author

Force a reload after form submit?

Brett Han
Greenhorn

Joined: May 17, 2005
Posts: 10
Hello - this may be a simple question - I'm new to struts and have been figuring out ways to do what I want, but I'm afraid that there are often better ways to do them using struts.

My current problem is as follows:

I have a form bean which contains a Collection of items. I print out the list of items, each with a checkbox to delete them (essentially the same idea as a shopping cart with 'remove from cart' checkboxes). So the user can check n boxes, and hit the delete button which submits the form with the appropriate parameter.

The action class actually does the work of deleting the items (the mechanics are unimportant). I simply want the resulting page to show the list of items, minus the ones that were just deleted. However it doesn't do this until I refresh the page.

I've tried using forwards in struts_config.xml file (i.e. returning mapping.findForward("delete_success") from the execute() method in my Action class after the deletion is successful), but I want the page to which I'm forwarded to to include the original page (list of items). It's never up to date until I refresh. I can confirm that the items are deleted.

I'm not sure if this is some caching problem or a simple struts thing that I'm missing.

I assume this is a common task, as every shopping cart system must work this way.

Thanks for any advice.
alan do
Ranch Hand

Joined: Apr 14, 2005
Posts: 354
you have a /cart/view.do (or something like that) to present the cart initially correct? in your action mapping for the cart update action then forward it to that /cart/view.do. ex:

<action name="/cart/delete.do"....>
<forward name="delete_success" path="/cart/view.do"/>
</action>

if you're already doing this, it's a caching issue. you can test it out by disable caching for the entire app by setting the controller property in the struts config as follows:

<controller>
<set-property property="nocache" value="true"/>
</controller>

this will disable caching for the ENTIRE app, which may not be desirable. you can modify the Action class to selectively disable response cache.


-/a<br />certified slacker...yes, my last name is 'do' - <a href="http://www.luckycouple.com" target="_blank" rel="nofollow">luckycouple.com</a>
 
 
subject: Force a reload after form submit?
 
Similar Threads
RequestDispatcher query
Rationale for Set not containing a get(Object 0) method?
Extreme Planner and "drilldown"
Refresh problem in Servlet
Items in the Shopping cart