Tapestry 内部重定向到静态页面

发布于 2024-10-01 13:22:16 字数 411 浏览 7 评论 0原文

我只希望 Tapestry 页面重定向到这样的静态页面:

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

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

谢谢。

I just want a Tapestry page to redirect to a static page like this :

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

I try to do this by returning a new URL, but i need to know the web site address for that (http://www.myWebSite.com/). So, i would like to know how to do this without knowing the web site address ?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

近箐 2024-10-08 13:22:16

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

@Inject
private HttpServletRequest request;

Object onActivate() {
    return new java.net.URL("http://" + request.getServerName() " + "/myStaticPage.html");
}

You can inject (using @Inject) the HttpServletRequest directly in your page directly, without using RequestGlobals, and use its getServerName() method to get the server name. Not tested:

@Inject
private HttpServletRequest request;

Object onActivate() {
    return new java.net.URL("http://" + request.getServerName() " + "/myStaticPage.html");
}
错爱 2024-10-08 13:22:16

发现:使用 RequestGlobals 服务

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

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

Found : using the RequestGlobals service

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

Just use it to build your URL string put it in a URL instance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文