如何解决在Pretty Faces中使用正则表达式
我有一个项目,其中我使用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: </urlliv1-8/urlliv2-43/urlliv3-20>,a parameter did not match compiled segment in pattern: /#{ /.*-.*/ bean.urlLiv1 }/#{bean.urlLiv2}/#{ bean.urlLiv3 }
有人知道为什么我会收到此错误吗? 谢谢
解决方法
对于稍微混乱的错误消息表示抱歉。这可能是由于您在.*
的正则表达式模式中使用urlLiv1
。
.*
或.
的主要问题是这些模式将匹配/
个字符。尝试使用类似这样的方法:[^/]*
匹配器中的.
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。