我只想让 Tapestry 页面重定向到这样的静态页面:
http://www.myWebSite.com/home/myPage.tml -> http://www.myWebSite.com/static/myStaticPage.html
我尝试通过返回一个新 URL 来做到这一点,但我需要知道它的网站地址 (http://www.myWebSite.com/)。所以,我想知道如何在不知道网站地址的情况下做到这一点?
谢谢你。
我只想让 Tapestry 页面重定向到这样的静态页面:
http://www.myWebSite.com/home/myPage.tml -> http://www.myWebSite.com/static/myStaticPage.html
我尝试通过返回一个新 URL 来做到这一点,但我需要知道它的网站地址 (http://www.myWebSite.com/)。所以,我想知道如何在不知道网站地址的情况下做到这一点?
谢谢你。
您可以直接在页面中直接注入(使用@Inject)HttpServletRequest,而不使用RequestGlobals,并使用其getServerName()
方法获取服务器名称。未测试:
@Inject
private HttpServletRequest request;
Object onActivate() {
return new java.net.URL("http://" + request.getServerName() " + "/myStaticPage.html");
}
找到:使用 RequestGlobals 服务
String baseUrl = requestGlobals.getHTTPServletRequest().getRequestURL().toString().replaceFirst(requestGlobals.getHTTPServletRequest().getRequestURI(), "");
只需使用它来构建您的 URL 字符串,并将其放在 URL 实例中。