使用struts2重定向URL

发布于 2024-08-07 14:05:31 字数 105 浏览 3 评论 0原文

如何使用 struts2 将 www.mysite.com/12345 重定向到 www.mysite.com/action?id=12345

How can i redirect www.mysite.com/12345 to www.mysite.com/action?id=12345 using struts2?

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

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

发布评论

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

评论(2

乞讨 2024-08-14 14:05:31

我使用 URL 重写来使这些灵活的映射工作(尽管您可能可以在 struts 中正确完成它,可能使用您自己的拦截器或其他东西)。有一个很棒的小项目 urlrewritefilter 可以完成这项工作。在您的网址重写配置中,您将具有如下规则:

<rule>
  <from>^/(\d+)
lt;/from>
  <to>/action?id=$1</to>
</rule>

查看 手册看看它是否是您正在寻找的内容。

I use URL rewriting to get these kind of flexible mappings working (though you could probably do it in struts proper, possibly with your own interceptor or something). There's a great little project, urlrewritefilter that gets the job done. In your URL rewriting configuration you'd have a rule like:

<rule>
  <from>^/(\d+)
lt;/from>
  <to>/action?id=$1</to>
</rule>

Have a look at the manual to see if it is what you are looking for.

疧_╮線 2024-08-14 14:05:31
<action name="12345">
   <result type="redirect-action">
        <param name="actionName">action</param>
        <param name="id">12345</param>
    </result>
</action>

更新
好的。基于下面的评论。

我过去曾以这种方式处理过类似的事情。在 struts 中创建一个带有 catch all 操作的包。

<package name="numbers">
    <action name="*" class="my.package.ActionClass" method="urlrewrite">
        <result type="redirect-action">
            <param name="actionName">${nextpage}</param>
            <param name="id">${id}</param>
        </result>
    </action>
</package>

然后在操作类的 urlrewrite 方法中:

public String urlrewrite(){
     //parse the url and determine the ID and the next page
     nextpage = "action";
     id = "12345";
     return SUCCESS;
}

因此,在调用操作时,您必须这样做:

http://www.mysite.com/numbers/12345.action

如果您不需要新包,那么您可以在默认包中执行此操作。

<action name="12345">
   <result type="redirect-action">
        <param name="actionName">action</param>
        <param name="id">12345</param>
    </result>
</action>

UPDATE
Ok. Based on the comment below.

I have managed something like this in this way in the past. Create a package in struts with a catch all action.

<package name="numbers">
    <action name="*" class="my.package.ActionClass" method="urlrewrite">
        <result type="redirect-action">
            <param name="actionName">${nextpage}</param>
            <param name="id">${id}</param>
        </result>
    </action>
</package>

Then in the urlrewrite method of the action class:

public String urlrewrite(){
     //parse the url and determine the ID and the next page
     nextpage = "action";
     id = "12345";
     return SUCCESS;
}

So in calling the action you will have to do like this:

http://www.mysite.com/numbers/12345.action

If you do not want a new package then you can do this in the default package.

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