Можете ли вы использовать регулярные выражения в struts-config.xml? - PullRequest
2 голосов
/ 05 февраля 2011

Я пытаюсь направить эти два URL-адреса на разные действия. Мы используем Struts 1.2:
/ А четкость / продукты
/ А четкость

Я пытался поставить это действие первым:

<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>

но оно всегда переходит ко второму действию (в данном случае другому примеру действия). Я пробовал различные итерации для *, например. * Или (. *), Но пока не нашел ничего, что действительно работает.

Из того, что я прочитал, кажется, что единственные символы, подобные регулярному выражению, разрешенные в struts-config, - это символы подстановки (* и **), но я надеюсь, что ошибаюсь.

1 Ответ

1 голос
/ 05 февраля 2011

К сожалению, вы правы насчет подстановочного знака в Struts 1.x ... после * ничего не может быть. См. раздел документации 4.10 . Это одно из многих ограничений Struts 1.x ... предоставлено, это одна из первых платформ Java MVC, которая работает (очевидно, с некоторыми перегибами), поэтому я решил перейти на Spring MVC 3.x, потому что это позволяет мне делать больше URI, как Rest, например:

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

Я просто не понимаю, как это легко сделать в Struts 1.x.

...