Prettyfaces url 风格搜索 gmail

Prettyfaces url style search gmail

美好的一天:

我正在使用 gmail 风格的 prettyFaces 进行搜索。 当我使用 gmail 时,space 被替换为符号“+”。并且在框中没有添加“+”。

在我的例子中,当我这样做时,其他字符 url 添加到我的框中。

这里是映射代码,和方框:

<url-mapping id="search">
    <pattern value="/buscar/#{ /.*/ searchBean.q}" />
    <view-id value="/faces/reqs/search.xhtml" />
    <action>#{searchBean.search}</action>
</url-mapping>

<div class="search">
    <h:form id="searchForm">
        <span class="button-group">
           <p:inputText value="#{searchBean.q}" size="50"/>
           <p:commandButton action="pretty:search"/>
        </span>
     </h:form>
 </div>

感谢您的帮助。

编辑:

而如果facebook会因为它是一个参数呢?这将是避免输入中出现特殊字符的解决方案吗?

这是预期的行为。在 GMail 的情况下,空格是 "fragment" 的一部分,它是“#”字符之后的部分。在您的 PrettyFaces 设置中,搜索词是路径的一部分。

URL的片段和路径部分有不同的编码规则。所以 PrettyFaces 正在正确处理这个问题。