i use somme tricks to use prefix url
in main
public static final String TESTDEV="test";
public static final String TEST="examensTest";
public static final String PROD="examens";
public static String urlSuffix=PROD;
...
// avant chaque requette
before((request, response) -> {
// maintenant on utilise le basic auth de l'apache
// CasInp.getauthentified(request, response);
String url=request.url();
String host=request.host();
if (url.contains("images")) {
String urld=url.replace(host, host+"/"+urlSuffix);
urld=urld.replace("images", "img");
response.redirect(urld);
}
if ((url.contains("img")||url.contains("css"))&!url.contains(urlSuffix)) {
String urld=url.replace(host, host+"/"+urlSuffix);
response.redirect(urld);
}
});
in each request i use:
model.put("urlSuffix", urlSuffix); //to send url prefix to the view
here an exemple of usage in my header footer
<#macro top>
<!DOCTYPE html>
<html>
<head>
<title>Assiduité</title>
<#if listMeta??>
<#list listMeta as meta>
${meta}
</#list>
</#if>
<script type="text/javascript" src="<#if urlSuffix??>/${urlSuffix}/</#if>/javascripts/jquery-3.3.1.min.js" ></script>
<script type="text/javascript" src="<#if urlSuffix??>/${urlSuffix}/</#if>/javascripts/main.js"></script>
<#if listJavascript??>
<#list listJavascript as js>
<script type="text/javascript" src="<#if urlSuffix??>/${urlSuffix}/</#if>/javascripts/${js}"></script>
</#list>
</#if>
<link rel="icon" type="/image/png" href="<#if urlSuffix??>/${urlSuffix}/</#if>/img/logo_ensimag.png"/>
<link rel="stylesheet" href="<#if urlSuffix??>/${urlSuffix}/</#if>/css/main.css">
<#if listCSS??>
<#list listCSS as css>
<link rel="stylesheet" href="<#if urlSuffix??>/${urlSuffix}/</#if>/css/${css}">
</#list>
</#if>
</head>
<body>
<#if urlSuffix??>
<span id="urlSuffix" urlSuffix="${urlSuffix}"></span>
</#if>
<div class="menutop">
<ul id="nava">
<li><a href="<#if urlSuffix??>/${urlSuffix}/</#if>/"><img src="<#if urlSuffix??>/${urlSuffix}/</#if>/img/logo_ensimag.png" alt="logo" style="width:100px;height:15px;"></a></li>
<!----------------------- Examen ----------------------->
<#if type!="E">
<li>consultation
<ul>
<li><a href="<#if urlSuffix??>/${urlSuffix}/</#if>/consultation/etudiantForm">Par étudiant</a></li>
<li><a href="<#if urlSuffix??>/${urlSuffix}/</#if>/consultation/etudiantgroupe">Par étudiant/groupe</a></li>
<li><a href="<#if urlSuffix??>/${urlSuffix}/</#if>/consultation/groupe">Par groupe</a></li>
<li><a href="<#if urlSuffix??>/${urlSuffix}/</#if>/consultation/usurpation">usurpation étudiant</a></li>
</ul>
</li>
</#if>
</ul>
</div>
</#macro>
<#macro bottom>
</body>
</html>
</#macro>
for javascript i took the urlsufix from the <span id="urlSuffix" urlSuffix="${urlSuffix}"></span>