Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC url模式-不断追加控制器_Java_Spring Mvc_Controller_Url Pattern - Fatal编程技术网

Java Spring MVC url模式-不断追加控制器

Java Spring MVC url模式-不断追加控制器,java,spring-mvc,controller,url-pattern,Java,Spring Mvc,Controller,Url Pattern,我有一个Spring MVC应用程序 这是web.xml <xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

我有一个Spring MVC应用程序

这是web.xml

    <xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Spring Web MVC Application</display-name>

    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>

</web-app>
我正在使用
Test

当我第一次点击链接时,它工作正常

http://localhost:8008/App/Test
如果我再次单击该链接,它将再次附加测试

http://localhost:8008/App/Test/Test
而且它还在不断增加

可能是什么问题

而不是

<a href="Test">link</a>

但是它更长,更不干净,并且不允许像
c:URL
那样向URL添加参数。请注意,Spring还有一个
s:url
标记,可以做同样的事情,等等。

是@JB Nizet答案的补充,因为不清楚您使用的是哪个viewResolver,可能还有其他人在寻找该问题的答案:

如果要将其用作模板引擎,可以执行以下操作:

<a href="<@spring.url '/Test' />">link</a>

在使用宏之前。

这与spring mvc无关,只需检查href以指向正确的路径。第一次就可以了。。但是作为一个例子,当我一次又一次点击链接时!!url正在被追加。您可能已经给出了一个相对路径。删除相对路径并给出“你是什么意思??你给出了完整的路径吗?到处都是,如果明天我在某个IP和其他端口上运行这个会怎么样?如果我使用这个模式/测试,url会变为。它是从应用程序中出来的不,它不是。我没有告诉你要使用
/Test
,而是要使用
。仔细阅读。
<a href="<c:url value='/Test'/>">link</a>
<a href="${pageContext.request.contextPath}/Test">link</a>
<a href="<@spring.url '/Test' />">link</a>
<#import "spring.ftl" as spring/>