...
For our own document's actions, we need to extend org.kuali.rice.kns.web.struts.action.KualiTransactionalDocumentActionBase or a descendant class. Again, the rules about parallel hierarchies are also in effect here. The class should be named {transactional document name}Action and should live in the org.kuali.kfs.module.{the module we're working in}.web.struts package.
...
As promised, we needed to take a look at how rule events are generated by action methods. As you'll remember, we saw that events forced the rules validation framework to validate a certain set of rules on a document, but we said that we'd hold the last piece - the lynch-pin, if you will - until now, when we could see what action methods look like. Here is the addCheck method of the org.kuali.module.financial.web.struts.action.CashReceiptAction Action class:
...
Here, we can see that any URL with the path that starts with the word "financial" will have the portion of the path after "financial" held as a pattern. That pattern is then used to set the right form class, the correct view page for input, the Action class, and the "basic" forward, which simply goes to the JSP page for the document. Here, we see that if we've properly named our Form, Action, and page, everything goes together. For instance, for the URL "/financialAdvanceDeposit.do", this mapping will kick in, tying together the AdvanceDepositForm, the input page AdvanceDeposit.jsp, and the Action class org.kuali.kfs.fp.document.web.struts.AdvanceDepositAction and it will create a forward named "basic" which will point to AdvanceDeposit.jsp.
...