弹簧控制器中无法正确读取jsp请求参数中的特殊字符

时间:2014-01-15 08:28:16

标签: spring jsp url spring-mvc

我试图在jsp请求参数中发送一些参数,其中包含特殊字符,如'#'Ex:

http://localhost:8080/studentenrollmentsystem/editenrolment?id=3&course=C#&name=YASHIKA&dob=1986-12-22 00:00:00.0

在spring控制器中,当我尝试访问名为course的参数时,它只提供C#的C加上未捕获的name参数。请帮助我如何正确实现此功能。

1 个答案:

答案 0 :(得分:1)

使用<spring:url>标记。

在JSP的顶部指定taglib指令(如果尚未指定):

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

然后你可以使用这样的东西:

<spring:url value="http://localhost:8080/studentenrollmentsystem/editenrolment?id=3&course={course}&name=YASHIKA&dob=1986-12-22 00:00:00.0">
    <spring:param name="course" value="C#"/>
</spring:url>

将该课程拆分为<spring:param>将确保其被转义 - 因此完整的网址将如下所示:

http://localhost:8080/studentenrollmentsystem/editenrolment?id=3&course=C%23&name=YASHIKA&dob=1986-12-22 00:00:00.0

有关标记库here的更多信息。