伊春市网站建设_网站建设公司_前端开发_seo优化
2026/1/14 17:37:37 网站建设 项目流程

在 JasperReports 中,$F$P是两种不同的表达式类型,用于访问不同来源的数据:

$F{fieldName} - 字段(Field)

  • 表示从数据源(如数据库查询结果、JavaBean 等)获取的每条记录的具体数据

  • 通常对应数据集的列或对象的属性

  • 在报表的 detail 区域中逐行显示

  • 示例:

    -- 如果查询是:SELECT name, age FROM users $F{name} -- 获取当前记录的 name 字段 $F{age} -- 获取当前记录的 age 字段

$P{parameterName} - 参数(Parameter)

  • 表示报表运行时传入的外部参数

  • 在报表执行前设置,整个报表执行期间保持不变

  • 常用于:

    • 筛选条件(如日期范围、部门等)

    • 标题文字

    • 配置选项

  • 示例:

    // Java 代码中传入参数 parameters.put("reportTitle", "销售报表"); parameters.put("startDate", new Date());

    报表中:$P{reportTitle}

主要区别

特性

$F (字段)

$P (参数)

数据源

主数据集的记录

外部传入的值

变化性

每行都不同

整个报表固定

用途

显示详细数据

控制报表行为

设置时机

设计时定义字段

运行时传入值

生命周期

随记录变化

报表执行期间不变

使用示例

<!-- 报表标题使用参数 --> <textField> <textFieldExpression><![CDATA[$P{companyName} + " 销售报表"]]></textFieldExpression> </textField> <!-- 详细数据使用字段 --> <detail> <textField> <textFieldExpression><![CDATA[$F{productName}]]></textFieldExpression> </textField> <textField> <textFieldExpression><![CDATA[$F{quantity}]]></textFieldExpression> </textField> </detail>

常见场景

  • 使用$P传递用户输入的筛选条件

  • 使用$F显示查询结果的具体数据

  • 结合使用:$F{price} * $P{taxRate}

另外还有$V{variableName}用于计算变量(如合计、平均值等),但这是另一个概念了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询