The browser always displays the address of the last request - AFAIK you can't change that.
One option could be to redirect after each action to your "same url"; this action would only be responsible for "rendering" your page. With this approach all your forms and data need to be defined at session scope.
so, in each action you'd do something like:
in your "same url" render action:
Also if you're using tiles, utilising page controller can sometimes be useful (e.g. call the database to retrieve a list used by the page - storing it on the request)
If you can allow 1 Url per form with multiple methods, try the EventActionDispatcher.