0

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

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

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

谢谢你。

4

2 回答 2

2

您可以直接在页面中直接注入(使用@Inject)HttpServletRequest,而不使用RequestGlobals,并使用其getServerName()方法获取服务器名称。未测试:

@Inject
private HttpServletRequest request;

Object onActivate() {
    return new java.net.URL("http://" + request.getServerName() " + "/myStaticPage.html");
}
于 2010-11-25T01:41:59.017 回答
0

找到:使用 RequestGlobals 服务

String baseUrl = requestGlobals.getHTTPServletRequest().getRequestURL().toString().replaceFirst(requestGlobals.getHTTPServletRequest().getRequestURI(), "");

只需使用它来构建您的 URL 字符串,并将其放在 URL 实例中。

于 2010-11-12T16:13:05.497 回答