spring:url显示错误的URL

时间:2015-08-14 19:07:31

标签: java spring jsp spring-mvc

我的jsp页面中的spring url标签有问题。 这是我的index.jsp页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<spring:url var="registrationUrl" value="/register"/>

<!DOCTYPE html>
<html>
<body>
<h2>Index page</h2>
    <a href="${registrationUrl}">Register</a>
</body>
</html>

点击“注册”链接后,我的网址格式如下: http://localhost:8080/$%7BregistrationUrl%7D

代替: http://localhost:8080/register

所以问题:我错过了什么?

2 个答案:

答案 0 :(得分:2)

@Dmitriy Tatarenko 的回答也适用于我......这里的一个变化是仔细进行如下替换:

来自类似:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Application Name</display-name>
</web-app>

到:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

  <display-name>Application Name</display-name>
</web-app>

注意:不要砍掉 行,因为打包可能不起作用。

答案 1 :(得分:0)

我找到了解决方案。我没想到,但问题出在我的web.xml中。它使用旧的xml架构:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

所以我将其重新表述为最新的架构:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

感谢所有人帮助我。 附:对不起我的坏英格兰。