Install4j 将安装程序变量从安装类型屏幕传递到条件表达式
我已将安装类型屏幕添加到install4j安装程序中。根据选定的安装类型,会下载并解压缩某些文件。这些操作分为四组,位于“安装”下 为了控制这个执行流,我根据所选的安装类型对每个组使用条件表达式 代码如下:Install4j 将安装程序变量从安装类型屏幕传递到条件表达式,install4j,Install4j,我已将安装类型屏幕添加到install4j安装程序中。根据选定的安装类型,会下载并解压缩某些文件。这些操作分为四组,位于“安装”下 为了控制这个执行流,我根据所选的安装类型对每个组使用条件表达式 代码如下: if ((String)context.getVariable("sys.installationTypeId") == "424") return true; return false; 问题是,即使我选择了安装类型,它也总是返回false(未执行) 有人知道为什么会这样吗?也许
if ((String)context.getVariable("sys.installationTypeId") == "424")
return true;
return false;
问题是,即使我选择了安装类型,它也总是返回false(未执行)
有人知道为什么会这样吗?也许是
(String)context.getVariable("sys.installationTypeId")
这不是一根绳子吗?也许是一个数组?如何正确地编写条件
谢谢
找到梭罗 我找到了两个解决这个问题的方法
if(Integer.parseInt(context.getVariable(“sys.installationTypeId”).toString())==424)
返回true;
返回false代码>
在if语句中使用equals()方法。它允许使用自定义ID
if(((字符串)context.getVariable(“sys.installationTypeId”)).equals(“424”))
返回true;
返回false
您无法使用相等运算符比较字符串,必须使用相等
。相等运算符检查双方是否引用同一对象,这通常不是动态创建字符串的情况
我建议将条件表达式设置为
context.getVariable("sys.installationTypeId").equals("424")
不需要if语句和返回,表达式的计算结果为布尔值