java - 解决jsp中css的路径

标签 java jakarta-ee spring-mvc

我正在使用 Spring MVC 3.0 构建一个休息风格的 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}"的请求,这意味着根据路径变量 {page} 检索帖子。 问题在于,上面的两种方法都指向同一个 View ,即jsp文件,但它们位于不同的路径(“/posts,”/posts/page/xxx”)。css路径(../style.css)无法同时适应它们。 我尝试使用绝对 css 路径(/style.css)来解决这个问题,这意味着 Web 应用程序仅在应用程序部署在根路径(“/”)上时才工作。 如果您能帮助我,我将不胜感激。

最佳答案

使用<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}" />

关于java - 解决jsp中css的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013001/

相关文章:

java - OpenSSL FIPS 140-2 符合 Tomcat 5 或任何版本

java - 如何在 Java Swing 中获得自定义拖放支持

java - 不允许 Spring Data REST PUT 方法

java - 如何检测 MotionEvent.ACTION_MOVE 何时完成

java - 跨 war 共享JSP文件,在java servlet中使用forward

java - 如何从 JavaProject 调用 C++/CLI 源代码

java - 这种取消/中止异步 servlet 处理的方法存在任何问题

java - class.newInstance 创建所有属性均为 null 的 Object

java - spring mvc Controller 类不工作

java - 在 spring security 中使用 session id 检索身份验证对象