Found the answer to my question. The call to request.getRequestDispathcher(String aPath) works as it should. However, this method represents a kind of 'back door', through which query params may be added.
Since my wrappER doesn't override this method, it does a call forward to the 'wrappEE'. The wrappEE sees the query params, and saves them, but this info is not made automatically visible to the wrappER. **The wrappER needs to do extra work to ensure that such 'extra' query params are also made visible to it.** Roughly, the wrapper should be something like this : @Override public String getParameter(String aName){ //first try wrapper's internal version of the parameter map //if not found, try super.getParameter(String), and see if it has any data for aName } That way, when the JSP uses the wrappER, it will see the extra query params in the usual way. I have altered the code to reflect the above style, and it now works. Regards, John