我正在使用 Jboss 和 Netbeans 在 Windows 上创建 Spring MVC Web 应用程序。 它运行于 http://localhost/myapplication/
我的项目路径是D:\Myapplication\
我的 JSP View 位于 D:\Myapplication\web\jsp\
我的 Javascript 位于 D:\Myapplication\web\js\
Controller 位于 D:\Myapplication\web\src\java\controller\
我创建了 1 个 Controller ,需要在 javascript 位置创建 HTML 文件,即 D:\Myapplication\web\js\
我正在使用 Jquery.sheet 创建 Web 电子表格。 我想使用此 HTML 加载 Jquery.sheet,为此我只想将该 HTML 的相对 URL 存储在 JAVASCRIPT 位置中。
最佳答案
这取决于执行 jQuery.sheet 的页面的请求 URL。
首先在浏览器地址栏中查看使用jQuery.sheet的网页的绝对URL。例如,它可能是http://localhost/myapplication/jsp/page.jsp
。
然后在浏览器地址栏中检查/测试所生成的相关 HTML 文件的绝对 URL。例如,它可能是http://localhost/myapplication/js/generated.html
。
两者的共同路径只是一个上一级文件夹:../
,最终将位于http://localhost/myapplication
。从那里您可以通过 js/generated.html 访问 JS 文件夹和生成的 HTML 文件。
总而言之,您需要的相对 URL 是 ../js/generated.html
。
更新:根据评论,您已经从完全不同的 Angular 阐述了您的问题。您在客户端 Angular 谈论 URL,而实际上指的是服务器端的本地磁盘文件系统路径。在这种情况下,只需使用 ServletContext#getRealPath()
将相对 Web 路径转换为绝对磁盘文件系统路径。
String relativeWebPath = "/js";
String absoluteDiskPath = servletContext.getRealPath(relativeWebPath);
File generatedHtml = new File(absoluteDiskPath, "generated.html");
关于java - 获取Spring MVC相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3093423/