问题描述
在使用云程低代码平台设计列表页面的时候,能够支持我们使用<choose>、<when>标签进行复杂SQL的编写,实现数据权限控制的功能,可以参考官网 云程 | 云程低代码平台 (yunchengxc.com),或者参考云程的使用手册 数据权限 (yuque.com)。
下图是我们设计的一个列表页面的查询SQL,配置好以后,运行预览。
出现了错误信息:Unable to convert type java.lang.Character of 1 to type of java.lang.CharSequence,错误堆栈如下:
问题解决
问题是因为我们使用 test 表达式时,单引号里面只有一个字符,被认为是字符类型,不是字符串类型,导致的转换失败,我们可以使用 toString() 方法解决问题:
<when test="parameter.project_type.contains('1')">
替换成
<when test="parameter.project_type.contains('1'.toString())">