Jasper Report编译报错:字符串字面量未正确闭合双引号
JasperReports编译报错:字符串字面量未通过双引号正确闭合
错误日志
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/myapp] threw exception [Request processing failed; nested exception is com.openpayment.api.service.ApplicationException: net.sf.jasperreports.engine.JRException: 编译报表表达式类文件时遇到错误: 1. 字符串字面量未通过双引号正确闭合 value = ((net.sf.jasperreports.engine.JasperReport)parameter_subreportA5.getValue())";; //$JR_EXPR_ID=15$ <------------------>
问题定位
错误根源是JRXML中<subreportExpression>标签内的CDATA表达式多了一个未匹配的双引号,导致编译时字符串字面量无法正确闭合。
错误代码片段:
<subreportExpression><![CDATA[$P{subreportA5}"]]></subreportExpression>
修复方案
移除多余的双引号,修改为:
<subreportExpression><![CDATA[$P{subreportA5}]]></subreportExpression>
完整修复后的<subreport>节点代码:
<subreport> <reportElement x="0" y="0" width="420" height="595" uuid="b96f6247-8f25-40be-b361-d70f8dd8db5a"> <property name="com.jaspersoft.studio.unit.width" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> <subreportParameter name="name"> <subreportParameterExpression><![CDATA[$P{name}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="url"> <subreportParameterExpression><![CDATA[$P{url}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="account"> <subreportParameterExpression><![CDATA[$P{account}]]></subreportParameterExpression> </subreportParameter> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression> <subreportExpression><![CDATA[$P{subreportA5}]]></subreportExpression> </subreport>
内容的提问来源于stack exchange,提问作者Eljah
相关产品推荐
相关产品推荐

