List JasperReports:将字符串转换为数组并用它填充列表
我拥有的是这个List JasperReports:将字符串转换为数组并用它填充列表,list,jasper-reports,List,Jasper Reports,我拥有的是这个字符串[1251547494215785155632147985] (字符串中可以有1到15个ID,它之所以是字符串而不是列表,是因为它是通过URL发送的) 我需要用它填充一个名为campusAndFaculty的列表 我正在使用iReport 5.0.0 我已尝试在campusAndFacultydefault value Expression字段中输入该值 Array.asList(($P{campusAndFacultyString}.substring( 1, ($P{ca
字符串[1251547494215785155632147985]
(字符串中可以有1到15个ID,它之所以是字符串而不是列表,是因为它是通过URL发送的)
我需要用它填充一个名为campusAndFaculty
的列表
我正在使用iReport 5.0.0
我已尝试在campusAndFaculty
default value Expression字段中输入该值
Array.asList(($P{campusAndFacultyString}.substring( 1, ($P{campusAndFacultyString}.length() -2 ))).split("\\s*,\\s*"))
但它不会填充校园和教员
列表
知道如何使用字符串(“campusAndFacultyString”)
填充列表campusAndFacultyString
吗
======================
更新
我在iReport(5.0.0)中有这些变量
当我打印campusAndFacultyVar时,它返回“[111125126458712351259]”
但是,当我在过滤器中使用它时,我得到了“无法计算以下表达式:org\u organization.org\u be\u id为null”这对我很有用:
String something = "[125, 154, 749, 215, 785, 1556, 3214, 7985]";
Arrays.asList((something.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));
这意味着您可以在iReport中执行此操作:
java.util.Arrays.asList(($P{campusAndFacultyString}.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));
与代码片段的差异:
- 这是数组,不是数组
- 你应该从长度中取1,而不是2
- 对Arrays类的完全限定引用(这取决于iReport的配置方式)
java.util.Arrays.asList(($P{campusAndFacultyString}.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));