添加了更多信息
现在,如果你在下面观察ReportTypeList,他们已经提到了类似defaultValueExpression的东西,他们试图保留一些值。现在我需要从Java中读取这个集合,并在UI上的组合框中动态填充这些值。
对于参数ReportType,如果用户没有从UI中选择任何内容我需要考虑默认值,我需要获取默认值。
例如:
<parameter name="ReportTypeList" class="java.util.List">
<defaultValueExpression><![CDATA[$P{ReportTypeList}.set( "Daily", "Weekly",Monthly" )]]></defaultValueExpression>
</parameter>
<parameter name="ReportType" class="java.util.List">
<defaultValueExpression><![CDATA[$P{ReportType}.get[0]]]></defaultValueExpression>
</parameter>
<parameter name="DateParam" class="java.util.Date"/>
<parameter name="SheduleDate" class="java.util.Date"/>
答案 0 :(得分:1)
使用defaultValueExpression
时,您需要考虑对象类是null
,因此您需要实例化它!
ReportTypeList - java.util.List
,
$P{ReportTypeList}.set( "Daily", "Weekly",Monthly")
null.set(“”),这可能永远不会有效,Nullpointer
和set(String,String,String)
不存在java.util.List
上的方法
正确的表达方式可能是:
<parameter name="ReportTypeList" class="java.util.List">
<defaultValueExpression><![CDATA[java.util.Arrays.asList(new String[]{"Daily", "Weekly","Monthly"})]]></defaultValueExpression>
</parameter>
ReportType - java.util.List
??,可能应该是java.lang.String
$P{ReportType}.get[0]
上的get[0]
,java.util.List
,.get(0)
不正确它应该是java.lang.String
而且此返回是defaultExpression
,但是为什么要使用这样的表达式<parameter name="ReportType" class="java.lang.String">
<defaultValueExpression><![CDATA["Daily"]]></defaultValueExpression>
</parameter>
,只需返回你的字符串!
正确的表达方式可能是:
defaultExpression
DateParam - java.util.Date
你没有new java.util.Date()
,但是记住你需要做<div>
....之类的事情,你只能使用这个对象中存在的构造函数!