我有一个过滤器,我不想在应用程序启动时使用,只能在某个操作上使用。我知道已经有一个关于这个的问题,但这对我没有帮助,我实际上不明白这两个答案。
我采用“我的列 = 值或 1 = 1”的逻辑来获取我的所有数据集,而不仅仅是过滤器(如果它没有被调用)。
这是我写的:
FILTER (([ct]='%ct%') or '%ct%' = '%ct%')
VALIDATION
'ct' '^[a-zA-Z\-]+$'
END
我用 Openlayers 3 上的参数调用我的层
url: 'http://localhost:5000/cgi-bin/mapserv.exe?map=/ms4w/apps/tutorial/htdocs/essai.map&SERVICE=WMS&VERSION=1.1.1%20&REQUEST=GetCapabilities',
serverType: 'mapserver',
params: {'LAYERS': 'aisdata', 'ct':'myvalue', 'TILED': true}
});
但是我所有的数据集都被返回了。(如果我'%ct%' = '%ct%'
在我的地图文件中删除,过滤器应用得很好)
谁能帮我忽略我的病情?