DynamicJasper自动图文集字段中的参数?

时间:2014-06-23 20:22:43

标签: java dynamic-jasper

如果报告中包含参数,请说foo的值为bar,我希望以下内容可以打印bar(如果支持参数),或$P{foo}它只支持静态文本。

    AutoText showBatchAutoText = new AutoText("$P{foo}",
                                 AutoText.POSITION_HEADER,
                                 HorizontalBandAlignment.CENTER);

相反,它打印((java.lang.String)parameter_foo.getValue()),暗示它在场上做了某种逻辑......

应该有用吗?我是否滥用了“消息”类型的自动图文集?

1 个答案:

答案 0 :(得分:0)

DynamicJasper在将字符串发送到Jasper之前将其包装在引号中。所以, sql injection attack 样式,你可以用转义引号绕过它。

AutoText showBatchAutoText = new AutoText("\" + $P{foo} + \"",
                             AutoText.POSITION_HEADER,
                             HorizontalBandAlignment.CENTER);

黑客攻击,但是......它可以解决问题。