File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes help needing restructure of struts.xml using wildcards Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "help needing restructure of struts.xml using wildcards" Watch "help needing restructure of struts.xml using wildcards" New topic

help needing restructure of struts.xml using wildcards

Kelly Dolan
Ranch Hand

Joined: Jan 08, 2002
Posts: 109
Hi all! First let me say I'm embarrassed that I even need to ask this question as I thought I should have found a solution by now.

We have many Struts actions ( all in the same package and our struts.xml file uses one <action> w/ a wildcard to handle all of the mappings (see below). We want to re-organize our Struts actions into subpackages and thought we'd have one <action> per subpackage. For the life of me, we cannot get this to work. Below is our current configuration followed by some changes we attempted based on the documentation and posts I ran into. I appreciate all help.


The struts.xml file:

Our JavaScript code used to call the actions looks like the following where 'actionName' is something like 'GetAbc'.

Our web.xml contains

Lastly, the URL to start our application is something like http://server:port/MyApp/viewer. This entire configuration WORKS.


Now we have some Struts actions in /com/mycompany, /com/mycompany/aaa, /com/mycompany/bbb, etc.

#1: The struts.xml file:

Changed actionName values to 'aaa/GetAbc' so Ajax.Request is now '/s/aaa/GetAbc.action'.

RESULT: On post of http://server:port/MyApp/viewer/s/aaa/GetAbc.action, Unable to instantiate Action, com.mycompany.GetAbcAction, defined for 'GetAbc' root cause ClassNotFoundException for com.mycompany.GetAbcAction. Seems like it's still matching on "*" pattern. Don't understand why it's not matching later pattern. Tried defining "aaa/*" pattern before and after "*" w/ same result. Eventually found documentation that said when 1+ patterns match, last wins.

#2 - changed struts.xml to use Advanced Wildcard regex constants (see

RESULT: application no longer deployed so removed

#3 - try defining different package

RESULT - same as #1 above.

Help! Thanks!
I agree. Here's the link:
subject: help needing restructure of struts.xml using wildcards
It's not a secret anymore!