当前位置: 首页 > news >正文

jasper里面$F和$P的区别

在 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}用于计算变量(如合计、平均值等),但这是另一个概念了。

http://www.jsqmd.com/news/244541/

相关文章:

  • 动态梯度裁剪实战
  • 深度学习计算机毕设之基于python-CNN深度学习对马路道路是否破损识别基于python-CNN人工智能深度学习对马路道路是否破损识别
  • 企业微信外部群自动化消息推送实战
  • BLDC无刷直流驱动控制板资料,可驱动300W电机,已量产(STM32 CAN总线)输入电压:...
  • 研究生亲测:这几款降AI工具让我的论文顺利毕业
  • 深度学习毕设项目:基于深度学习对马路道路是否破损识别基于python-CNN深度学习对马路道路是否破损识别
  • 【计算机毕业设计案例】基于人工智能python-CNN深度学习对棉花叶病识别基于python-CNN深度学习对棉花叶病识别
  • python基于vue的外卖点餐小程序的设计与实现django flask pycharm
  • 数据互联与认知升级:JBoltAI智能数据中枢的核心逻辑
  • 【计算机毕业设计案例】基于深度学习python-CNN卷神经网络的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别
  • 手机上写代码、做PPT、分析Excel?这款“AI 全能工作台“让我随时随地都能工作
  • AIGC检测原理揭秘:为什么同样的内容有时过有时挂?
  • python基于vue的外贸服装售商城卖系统的设计与实现django flask pycharm
  • 计算机深度学习毕设实战-基于深度学习python的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别
  • 以Java为基,AI为翼:JBoltAI助力企业数智化转型
  • 轻量级Git仓库服务器整理
  • 计算机深度学习毕设实战-基于python-CNN深度学习对马路道路是否破损识别基于机器学习对马路道路是否破损识别
  • Kimi降AI完整教程:5个技巧让你的论文告别AI痕迹
  • 使用 dmesg 工具诊断Linux系统问题基本用法案例
  • 【课程设计/毕业设计】基于深度学习python-CNN的鞋面缺陷识别基于深度学习python-CNN深度学习的鞋面缺陷识别
  • 给水干管工程量-连续测量高效计算
  • UE5 C++(27-2):
  • 深度学习计算机毕设之基于卷神经网络python-CNN的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别
  • Jira vs bugzilla vs mantis vs Kanass,项目管理工具深度纵评
  • UE5 C++(28):
  • confluence vs 语雀 vs notion vs sward,知识管理工具深度纵评
  • python基于vue的商城购物平台设计与实现 优惠卷django flask pycharm
  • Zynq上UART/IIC/SPI的27个实验-第3课:PS GPIO 模拟 UART 发送
  • 深度学习毕设项目:基于机器学习python-CNN的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别
  • Zynq上UART/IIC/SPI的27个实验-第4课:PS GPIO 模拟 UART 接收