public ActionMapping getMapping(HttpServletRequest request) { ActionMapping mapping = new ActionMapping(); String uri = getUri(request); parseNameAndNamespace(uri, mapping); handleSpecialParameters(request, mapping); if (mapping.getName() == null) { return null; } // handle "name!method" convention. String name = mapping.getName(); int exclamation = name.lastIndexOf("!"); if (exclamation != -1) { mapping.setName(name.substring(0, exclamation)); mapping.setMethod(name.substring(exclamation + 1)); } return mapping; }