Take a look at:
http://www.jforum.net/posts/list/4159.page#17143
As for the urlPattern.properties, this is a way of mapping module/action arguments to names.
For example, let's look at the URL:
http://www.jforum.net/posts/list/4159.page
The module is "posts" and the action is "list" and there is only one argument between the action and the .page
servlet extension. So, the urlPattern that is used is posts.list.1. Since the ServletRequest is wrapped in an ActionServletRequest class, the "4159" part of the url can be retrieved by code like:
int topicId = this.request.getIntParameter("topic_id");
FWIW, this also defines the parameter tags to use if you want to use the older parameter syntax. E.g.:
http://www.jforum.net/jForumServlet?module=posts&action=list&topic_id=4159
[originally posted on jforum.net by monroe]