對於那些學習和還在掙扎,像我一樣,我想與大家分享和補充@ ddekany的回答,一個可以做,在servlet:
public class FW {
String contextPath0;
String contextPath;
FW(HttpServletRequest request) {
contextPath0 = request.getContextPath();
contextPath = contextPath0 + "/";
}
public String getContextPath() {
return contextPath0;
}
public String url(String path) {
if (path.startsWith("/")) return contextPath0 + path;
return contextPath + path;
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("fw", new FW(request));
request.getRequestDispatcher("/template-00.ftl").forward(request, response);
}
,後來在.ftl模板
<pre style="border: 1px solid black; padding: 1em 1em 1em 1em;">
fw.context path: "${fw.contextPath}"
fw.url 1: "${fw.url('/my/safe/absolute/path')}"
fw.url 2: "${fw.url('my/safe/relative/path')}"
</pre>
+1 for ..幫助我 – alexgirao