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