Recursion Struts2用于友好url的递归通配符映射 EN {1} /pages/article/search_article.jsp EN {2} /pages/article/search_article.jsp EN {3} /pages/article/search_article.jsp

Recursion Struts2用于友好url的递归通配符映射 EN {1} /pages/article/search_article.jsp EN {2} /pages/article/search_article.jsp EN {3} /pages/article/search_article.jsp,recursion,struts2,wildcard,friendly-url,Recursion,Struts2,Wildcard,Friendly Url,所以,我有一种情况,类别可以无限制嵌套。 当前的struts配置文件对于3级子类别非常有效 我可以让这段代码有点“递归”以覆盖无限级别的子类别吗?完全未经测试,但我会尝试以下方法: <action name="en/articles/categories/*" class="it.cms.article.action.SearchArticleCustom"> <param name="locale">en</param>

所以,我有一种情况,类别可以无限制嵌套。 当前的struts配置文件对于3级子类别非常有效


我可以让这段代码有点“递归”以覆盖无限级别的子类别吗?

完全未经测试,但我会尝试以下方法:

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

**
:匹配零个或多个字符,包括斜杠(“/”)字符


您可以尝试使用编写只选择url最后一部分的正则表达式,并使用
regex
patternMatcher
或创建自定义
patternMatcher
。谢谢,这就是我要找的。
<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>