SpringMVC控制器 跳轉到jsp頁面 css img js等檔案不起作用 不顯示

來源:互聯網
上載者:User

標籤:glib   str   視圖   charset   靜態   app   jsp頁面   絕對路徑   bubuko   

  

  今天在SpringMVC轉寄頁面的時候發現跳轉頁面確實成功,但是JS,CSS等靜態資源不起作用:

 

控制層代碼:

    /**     * 轉寄到查看培養方案詳情的頁面     * @return     */    @RequestMapping("/2TrainSchemeDatail")    public String forward2TrainSchemeDetail(@RequestParam(defaultValue = "1") String trainSchemeId, Model model){        model.addAttribute("trainSchemeId",trainSchemeId);        return "pages/trainingScheme/trainingScheme";    }

視圖解析器配置:

    <!-- 3.視圖解譯器 -->    <bean            class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/" />        <property name="suffix" value=".jsp" />    </bean>

 

 

效果:

 

最後經過分析是JS和CSS的路徑問題:用的是相對路徑,所以找不到資源

 

 

  

解決辦法:

  • 第一種

在JSP頭部加上

<%    String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%>

 

 在css,js,img等資源檔以及存取控制器的相對路徑改為絕對路徑:

 <%=basePath %>js/jquery-1.9.1.min.js

 

 

    •   第二種  (推薦這種)

JSP設定一個記錄項目名字的變數:如下   ${baseurl} 等價於 /項目名稱

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><c:set var="baseurl" value="${pageContext.request.contextPath}"></c:set><script type="text/javascript">    <%--to record pronect Name (contextPath=/jwxt)--%>    contextPath = "${pageContext.request.contextPath}";</script>

 

 

JS和CSS路徑改為:

    <link rel="stylesheet" href="${baseurl}/css/font.css">    <link rel="stylesheet" href="${baseurl}/css/xadmin.css">    <script type="text/javascript" src="${baseurl}/js/jquery.min.js"></script>    <script type="text/javascript" src="${baseurl}/lib/layui/layui.js" charset="utf-8"></script>    <script type="text/javascript" src="${baseurl}/js/xadmin.js"></script>

 

SpringMVC控制器 跳轉到jsp頁面 css img js等檔案不起作用 不顯示

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.