diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java index 30b15bf6cfe9..45fb84102a5e 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java @@ -295,6 +295,18 @@ protected String replaceUriTemplateParams(String uri, List params, Set params = new LinkedList(); + Set usedParams = new HashSet(); + + Param param = new Param(); + param.setName("name"); + param.setValue("my/Id"); + params.add(param); + + String uri = tag.replaceUriTemplateParams("url/{/name}", params, usedParams); + + assertEquals("url/my%2FId", uri); + assertEquals(1, usedParams.size()); + assertTrue(usedParams.contains("name")); + } + + public void testReplaceUriTemplateParamsTemplateWithPath() + throws JspException { + List params = new LinkedList(); + Set usedParams = new HashSet(); + + Param param = new Param(); + param.setName("name"); + param.setValue("my/Id"); + params.add(param); + + String uri = tag.replaceUriTemplateParams("url/{name}", params, usedParams); + + assertEquals("url/my/Id", uri); + assertEquals(1, usedParams.size()); + assertTrue(usedParams.contains("name")); + } + public void testCreateUrlRemoteServer() throws JspException { tag.setValue("http://www.springframework.org/");