File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes How to do this without Action chaining... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "How to do this without Action chaining..." Watch "How to do this without Action chaining..." New topic

How to do this without Action chaining...

David Yutzy
tumbleweed and gunslinger
Ranch Hand

Joined: Jun 29, 2001
Posts: 192
What I need is a simple action where a form is posted to, then chain to another action that points to a Tiles definition.

This is how I'm accomplishing it, but Struts Studio says this is "bad" Struts practice.
Here is the scenario:
* User clicks Add New and a blank form appears
* User fills in form and clicks submit
* Post is posted to ArticleAdd action
* Article is saved, then forwards to "list" which then forwards
to ""
I forward to the because I need to re-read the DB to get the newly added record.
I can't very well forward to the JSP because the FormBean hasn't been updated with the new record. What I don't understand is why is this "bad practice" and if it is, what is the alternative?
I questioned the Struts Studio architect on this because they only allow forwards to JSP files or Tiles definitions, not to other actions.
Srikanth Shenoy
Ranch Hand

Joined: Jan 24, 2004
Posts: 184
Action chaining is a religiously debated aspect. Some swear by it, while others frown at it.
Here is my take:
There are some scenarios where Action Chaining is good and some scenarios where it is not so good.
The scenario you just described is a classic case where I would stick to Action Chaining. I think it is a great case for Action Chaining. There is no doubt in my mind. I describe almost a similar situation in my book too.
On the other hand, if the chaining is used for linking several units of business logic one after the other, it is better to do this in the business tier using a facade.
When some preprocessing is needed to show a page, irrespective of whether the page is shown for the first time in the normal way or through some other way (Like you had it - Add,edit,delete button). I would stick to Action Chaining in this case. But I can see that you dont have that liberty due to constraint in Struts Studio.

Srikanth Shenoy
Author of Struts Survival Guide : Basics to Best Practices
David Yutzy
tumbleweed and gunslinger
Ranch Hand

Joined: Jun 29, 2001
Posts: 192
I completely agree with the "business logic" scenario you described. But they actually put this in as a "business rule" and it flags my struts-confg.xml as invalid. What a head-ache in an otherwise great tool.
I agree. Here's the link:
subject: How to do this without Action chaining...
jQuery in Action, 3rd edition