Simone Conti
Simone Conti

Reputation: 584

Struts2 recursive Wildcard Mappings for friendly url

    <action name="en/articles/categories/*" class="it.cms.article.action.SearchArticleCustom">
        <param name="locale">en</param>
        <param name="categoryFriendlyUrl">{1}</param>
        <result name="success">/pages/article/search_article.jsp</result>
    </action>

    <action name="en/articles/categories/*/*" class="it.cms.article.action.SearchArticleCustom">
        <param name="locale">en</param>
        <param name="categoryFriendlyUrl">{2}</param>
        <result name="success">/pages/article/search_article.jsp</result>
    </action>

    <action name="en/articles/categories/*/*/*" class="it.cms.article.action.SearchArticleCustom">
        <param name="locale">en</param>
        <param name="categoryFriendlyUrl">{3}</param>
        <result name="success">/pages/article/search_article.jsp</result>
    </action>

So, I have a situation where categories can be nested with no limits. The current struts-config file works pretty good for 3-level sub-categories.

Can I make this code sort of "recursive" to cover unlimited level of sub-categories?

Upvotes: 2

Views: 243

Answers (1)

Andrea Ligios
Andrea Ligios

Reputation: 50203

Totally untested, but I'd try something like:

<action name = "en/articles/categories**/*" 
       class = "it.cms.article.action.SearchArticleCustom">

    <param  name = "locale">en</param>
    <param  name = "categoryFriendlyUrl">{2}</param>

    <result name = "success">/pages/article/search_article.jsp</result>

</action>

From the documentation:

** : Matches zero or more characters including the slash ('/') character.

Upvotes: 1

Related Questions