Jasper reports TextField中的If语句

Jasper reports TextField中的If语句,jasper-reports,Jasper Reports,我想在我的表中显示不同的列标题文本和关于此标题的不同值。标题文本和值取决于一个参数值。该参数在报告的“参数”部分定义为字符串,我也在“预览”视图中看到它,并在那里给它一个值 我的问题是,它不起作用(此列始终为空:没有标题文本,没有详细的值):)如何正确使用此处的IF语句?这是我的表格标题代码: ($P{first_column} == "first_column") ? "First Column" : ($P{first_column} == "second_column" ? "Second

我想在我的表中显示不同的列标题文本和关于此标题的不同值。标题文本和值取决于一个参数值。该参数在报告的“参数”部分定义为字符串,我也在“预览”视图中看到它,并在那里给它一个值

我的问题是,它不起作用(此列始终为空:没有标题文本,没有详细的值):)如何正确使用此处的IF语句?这是我的表格标题代码:

($P{first_column} == "first_column") ? "First Column" : ($P{first_column} == "second_column" ? "Second Column" : ($P{first_column} == "third_column" ? "Third Column" : ""))
我做错了什么?谢谢大家!

编辑:

这是从“源”视图复制的文本字段表达式:


Java中的字符串比较是通过
equals()
方法完成的。解释它

假设您有基于
java.lang.String
的参数,您可以执行以下操作:

($P{first_column}.equals("second_column") ? "Second Column" : ($P{first_column}.equals("third_column") ? "Third Column" : ""))

是的,参数是Java.lang.String类型,但遗憾的是,对于.equals(),它仍然是空的:(您需要发布一些示例JRXML来重现您的问题。添加了TextField的源代码,但该源代码太少,无法处理。报告中还有哪些内容与问题相关?参数?只需定义一个TextField和一个参数,看看是否可以使if语句正常工作:)它与Java比较无关,这是一个Jasper问题。
($P{first_column}.equals("second_column") ? "Second Column" : ($P{first_column}.equals("third_column") ? "Third Column" : ""))