新手問題:我今天剛剛啓動RequireJS,我試圖在我的配置文件中將request.getContextPath()設置爲我的baseUrl。如何在RequireJS配置中將request.getContextPath()定義爲baseUrl?
我正在使用JSP。在每個JSP頁面導入我的頭scripts.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%String context = request.getContextPath();%> // i.e. /www.myUrl.com/myContextPath
<c:set var="context" value="<%=context %>"/>
<script data-main="${context}/js/config" src="${context}/js/require.js"></script>
<script>
require(['config'], function(){
// all dependencies have loaded
})
內config.js我有這樣的:
requirejs.config({
baseUrl: 'libs',
paths:{
jquery:'jquery-2.2.4/jquery-2.2.4.min',
bootstrap:'bootstrap-3.3.7/js/bootstrap.min',
dataTables: 'datatables.min'
}
});
的問題是,它會嘗試加載庫和沒有我的上下文路徑,所以它會嘗試這樣的事情:
www.myUrl.com/NOTmyContextPath/libs/jqueryLib
我需要在baseUrl中獲得$ {context}。在那裏獲得價值的最佳方式是什麼?
感謝您的任何有用的提示。
更新:這似乎是一個春天的映射問題,我現在失去了,因爲我是前端開發人員。我收到的服務器錯誤如下:
WARN:2017-03-17 16:08:04:636 org.springframework.web.servlet.PageNotFound未找到具有URI的HTTP請求的映射[/ myContextPath/app/dir/js/myFolder/libs/jquery-2.2.4/jquery-2.2.4.min] in DispatcherServlet with name'myContextPath'
我不認爲我需要在web.xml中添加一個新的servlet映射我寧願不使用window.location或沿着這些行來獲取應用程序上下文。糾正這個問題的最好方法是什麼?
你應該使用 在servlet.xml中設置其他靜態文件,使用」app「映射放置靜態文件。 –