1

我正在使用 Spring MVC 3.0 来构建一个 rest 样式的 url。这是我的代码的一部分:

@RequestMapping(value = {"/", "/posts"}, method = RequestMethod.GET)
public String getNewestPosts(Model model, HttpServletRequest request)
        throws DataAccessException {
    return getPostsByPage(1, model, request);
}

@RequestMapping(value = "/posts/page/{page}", method = RequestMethod.GET)
public String getPostsByPage(@PathVariable long page, Model model,
        HttpServletRequest request) throws DataAccessException {
    // ... get the posts by page number
}

我写了两个方法。一个处理来自 url "/posts" 的请求,这意味着检索帖子的第一页,另一个处理来自 url "/posts/page/{page}" 的请求,这意味着根据路径变量检索帖子 {页}。问题是上述两种方法都指向同一个视图,即一个jsp文件,但它们位于不同的路径(“/posts”,“/posts/page/xxx”)。css路径(../ style.css) 不能同时适应,我尝试使用绝对 css 路径(/style.css) 来解决这个问题,这意味着 Web 应用程序只有在应用程序部署在根路径 ("/") 时才能工作。如果您能帮助我,我将不胜感激。

4

1 回答 1

1

使用<c:url>标记,它将上下文路径添加到绝对 URL。

<link rel="stylesheet" type="text/css" href="<c:url value="/style.css" />" />

或者

<c:url var="cssUrl" value="/style.css" />
<link rel="stylesheet" type="text/css" href="${cssUrl}" />
于 2012-12-23T17:26:00.323 回答