You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含'*'字符的视图字符串搜索问题:XPage视图查询结果异常

问题分析

Domino视图搜索语法里,*是通配符,代表匹配任意长度的字符。当产品名称包含字面的*时,直接把它拼进搜索条件会被解析为通配符,而非实际的字符,导致查询逻辑出错,匹配不到正确记录。

解决方案

在将viewScope.product拼接进搜索语句前,需要对其中的*进行转义处理,把*替换为\*,让Domino将其当作普通字符识别。修改后的代码如下:

<xp:this.data>
    <xp:dominoView var="viewPictures"
        databaseName="product/demo.nsf" viewName="demo3">
        <xp:this.search><![CDATA[#{javascript:var tmpArray = new Array("");
    var cTerms = 0;
    // 转义搜索内容中的*字符
    var escapedProduct = viewScope.product ? viewScope.product.replace(/\*/g, "\\*") : "";
    tmpArray[cTerms++] = "(FIELD Prod = \"" + escapedProduct + "\")";
    return tmpArray.toString();
    }]]></xp:this.search>
    </xp:dominoView>
</xp:this.data>
关键说明
  • 用String.replace(/\*/g, "\\*")全局替换所有*为\*,确保每个特殊字符都被正确转义。
  • 增加空值判断viewScope.product ? ... : "",避免viewScope.product为空时出现语法错误。

内容的提问来源于stack exchange,提问作者Marc Jonkers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 04:05:19