【问题标题】:Using regular expression in Pretty Faces在 Pretty Faces 中使用正则表达式
【发布时间】:2020-12-04 05:25:59
【问题描述】:

我有一个项目,我在其中使用 Pretty Faces 进行 url 重写。 这是 pretty-config.xml。

<url-mapping parentId="level2" id="level3" >
    <pattern value="/#{bean.urlLiv3 }">
    </pattern>
    <view-id value="/index.xhtml" />
    <action>#{bean.loadLiv3}</action>
</url-mapping>

<url-mapping parentId="level2" id="level2" >
    <pattern value="/#{bean.urlLiv2}">
    </pattern>
    <view-id value="/index.xhtml" />
    <action>#{bean.loadLiv2}</action>
</url-mapping>

<url-mapping parentId="main" id="level1" >
    <pattern value="#{ /.*-.*/ bean.urlLiv1 }" ></pattern>
    <view-id value="/index.xhtml" />
    <action>#{bean.loadLiv1}</action>
</url-mapping>
    
<url-mapping id="main">
    <pattern value="/" />
    <view-id value="/index.xhtml" />
    <action>#{bean.loadLiv0}</action>
</url-mapping> 

''' 它一直持续到 5 级。 如果在级别 1 上没有正则表达式 /.*-.*/,它适用于每个级别,但是当我添加它时,尝试在级别 3、4 和 5 上导航时会出错。 这是错误

Error parsing url: &lt;/urlliv1-8/urlliv2-43/urlliv3-20&gt;, a parameter did not match compiled segment in pattern: /#{ /.*-.*/ bean.urlLiv1 }/#{bean.urlLiv2}/#{ bean.urlLiv3 }

有人知道我为什么会收到此错误吗? 谢谢

【问题讨论】:

    标签: java regex url-rewriting prettyfaces


    【解决方案1】:

    对于稍微令人困惑的错误消息,我们深表歉意。这可能是因为您在 urlLiv1 的正则表达式模式中使用了 .*

    .*. 的一个主要问题是这些模式将匹配/ 字符。尝试使用类似这样的东西:[^/]* of the . 匹配器。

    【讨论】:

      猜你喜欢
      • 2020-03-02
      • 2020-09-14
      • 2017-01-18
      • 2016-12-03
      • 2011-10-24
      • 2015-11-04
      • 1970-01-01
      • 2014-03-29
      相关资源
      最近更新 更多