可以在struts-config.xml中使用正则表达式吗?

发布于 2024-10-15 20:47:46 字数 609 浏览 7 评论 0原文

我正在尝试将这两个网址路由到不同的操作。我们正在使用 Struts 1.2:
/abc-def/产品
/abc-def

我尝试将这个操作放在第一个:

<action path="/abc*/products" type="com.business.exampleAction">
    <forward name="success" path="/go"/>
</action>

然后是这个操作:

<action path="/abc*" type="com.business.differentExampleAction">
    <forward name="success" path="/goElsewhere"/>
</action>

但它总是转到第二个操作(在本例中为 differentExampleAction)。 我已经尝试了 * 的各种迭代,例如 .* 或 (.*),但还没有找到任何实际有效的东西。

根据我的阅读,struts-config 中唯一允许的类似正则表达式的字符似乎是通配符(* 和 **),但我希望我是错的。

I'm trying to route these two url's to different Actions. We are using Struts 1.2:
/abc-def/products
/abc-def

I tried putting this action first:

<action path="/abc*/products" type="com.business.exampleAction">
    <forward name="success" path="/go"/>
</action>

and then this one after:

<action path="/abc*" type="com.business.differentExampleAction">
    <forward name="success" path="/goElsewhere"/>
</action>

but it always goes to the second action (differentExampleAction in this case).
I've tried various iterations for the *, like .* or (.*), but haven't found anything that actually works yet.

From what I've read, it seems like the only regular-expression-like characters allowed in struts-config are the wildcard symbols (* and **), but I hope I am wrong.

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

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

发布评论

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

评论(1

遗失的美好 2024-10-22 20:47:46

不幸的是,您对 Struts 1.x 中的通配符的看法是正确的... * 之后不能有任何内容。请参阅文档第 4.10 节。这是 Struts 1.x 的众多限制之一......当然,它是第一个可用的 Java MVC 框架之一(显然现在有一些问题),这就是我决定切换到 Spring MVC 3.x 的原因,因为它允许我做更多类似 Rest 的 URI,例如:

/abc/product/{productId}/part/{partId}

我只是不明白如何在 Struts 1.x 中轻松实现这一点。

Unfortunately, you are correct about the wildcard in Struts 1.x... you cannot have anything after *. See documentation section 4.10. This is one of many limitations of Struts 1.x... granted, it is one of the first Java MVC frameworks that works (obviously with some kinks now), which is the reason I decided to switch to Spring MVC 3.x because it allows me to do more Rest-like URI, for example:

/abc/product/{productId}/part/{partId}

I just don't see how this can be easily accomplished in Struts 1.x.

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