Tapestry内部重定向到静态页面

时间:2010-11-12 08:43:35

标签: java java-ee redirect tapestry

我只想将Tapestry页面重定向到这样的静态页面:

http://www.myWebSite.com/home/myPage.tml - > http://www.myWebSite.com/static/myStaticPage.html

我尝试通过返回一个新的URL来执行此操作,但我需要知道该网站的地址(http://www.myWebSite.com/)。那么,我想知道如何在不知道网站地址的情况下做到这一点?

谢谢。

2 个答案:

答案 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实例中。