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/");