gpt4 book ai didi

java - 如何在 Struts 2 中解析请求 URL?

转载 作者:行者123 更新时间:2023-11-30 11:59:44 25 4
gpt4 key购买 nike

我的 web 应用程序(使用 struts2 创建)中的注册帐户获得一个单独的站点,如 http://localhost/accountname

每个账户都有自己的登录页面。注册后,用户将获得一个单独的站点http://localhost/accountname

我想先扫描请求 URL(在 struts2 中),然后将该请求转发到相应的登录页面。

我该怎么做?请帮忙

最佳答案

您可以通过以下方式在操作方法中获取请求对象:

   HttpServletRequest request = ServletActionContext.getRequest();

然后您可以找到这样的请求 URL:

   String spath = request.getServletPath();

然后你可以解析它并寻找你想要的模式并相应地转发。


更新:

您可以在struts.xml 配置文件中使用一个包。让我们说“userapps”。

     <package name="userapps" extends="default" namespace="/userapps">
<action name="*" class="path.to.your.ActionClass" method="processUrl">
<result name="success" type="redirectAction">
<param name="actionName">userpage</param>
<param name="id">${user.id}</param>
</result>
</action>
</package>

在 ActionClass 的 processURL 方法中,您可以提取您感兴趣的 URL 部分并设置一个属性,比如用户和他的 ID。然后,您从操作中返回成功。

您将有第二个操作称为 userpage say,它将获取用户的 ID 并转发到正确的页面。

现在,任何形式为 localhost/myapp/userapps/anything.action 的 url 都会调用 processURL 方法。

关于java - 如何在 Struts 2 中解析请求 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2392926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com