所以我的项目使用Wildfly 10服务器托管在localhost:8080 / web。当我加载main.css文件时,我使用标记:
<link href="resources/scripts/css/main.css" type="text/css">
它没有加载(404)。我加载了script.js
文件:
<script src="resources/scripts/js/script.js"></script>
但是,script.js
文件未加载(404)。有没有办法在不指定项目路径的情况下加载script.js
文件?
相关文件夹结构如下:
resources
scripts
css
main.css
js
script.js
static
views
index.html
答案 0 :(得分:1)
要始终从一致的位置加载脚本,您可以在href和脚本标记中使用绝对路径,方法是在前面添加“/”。目前,您的脚本和CSS正在尝试从localhost:8080/web/resources/scripts/css/main.css
localhost:8080/resources/scripts/css/main.css
'resources/scripts/css/main.css'
加载'/resources/scripts/css/main.css'
将[Files]
更改为[Files]
Source: "{code:GetLicensePath}"; DestDir: "{app}"; Flags: external
[Code]
var
LicenseFilePage: TInputFileWizardPage;
procedure InitializeWizard();
begin
LicenseFilePage :=
CreateInputFilePage(
wpSelectDir,
'Select License File Location',
'Where is your license file located?',
'Select where License file is located, then click Next.');
LicenseFilePage.Add(
'Location of license file:',
'License files|*.lic|All files|*.*',
'.lic');
end;
function GetLicensePath(Param: string): string;
begin
Result := LicenseFilePage.Values[0];
end;
答案 1 :(得分:0)
构建java war文件的正确方法是确保您的前端始终知道它可以在不同的上下文路径下运行。同一项目应该以http://127.0.0.1/或http://127.0.0.1/myproject/运行,具体取决于它的部署方式。
不幸的是,使用HTML文件没有超级简单的方法。
如果您将html转换为jsp,则可以使用以下内容:
<script type="text/javascript" src="<%=request.getContextPath()%>/resources/scripts/js/script.js"></script>
或者对于JSF2:
<script type="text/javascript" src="#{request.contextPath}/resources/scripts/js/script.js"></script>
答案 2 :(得分:-1)
刚将其移至服务器根目录以解决问题