Jasper reports 变量的值显示为null,而不是格式化日期
您好,我在显示此格式的字符串日期时遇到问题。Jasper reports 变量的值显示为null,而不是格式化日期,jasper-reports,Jasper Reports,您好,我在显示此格式的字符串日期时遇到问题。“01-Nov-16”,因为返回的是“01-11-2016”null。我已经试过了我所知道的一切。下面是我的确切xml <variable name="S_DATE" class="java.util.Date"> <variableExpression><![CDATA[new java.text.SimpleDateFormat("dd-MMM-yy",java.util.Locale.US).parse($P
“01-Nov-16”
,因为返回的是“01-11-2016”
null
。我已经试过了我所知道的一切。下面是我的确切xml
<variable name="S_DATE" class="java.util.Date">
<variableExpression><![CDATA[new java.text.SimpleDateFormat("dd-MMM-yy",java.util.Locale.US).parse($P{startdate})]]></variableExpression>
</variable>
<textField isStretchWithOverflow="true" pattern="dd-MM-yyyy" isBlankWhenNull="false">
<reportElement stretchType="RelativeToTallestObject" x="205" y="0" width="102" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" uuid="560349d8-0bb8-44f0-90ce-41ffb71544cc"/>
<textElement textAlignment="Left">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$V{S_DATE}]]></textFieldExpression>
</textField>
startdate
参数的类型是String
第一种方法
尝试使用参数而不是变量。在这种情况下,不需要使用变量的“幂”和特性
样品
@温妮,
$P{startdate}
的类型是什么?你查了什么值?@AlexK是一个字符串,例如“01-11-16”
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Format date" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="dateAsString" class="java.lang.String">
<defaultValueExpression><![CDATA["01-Nov-2016"]]></defaultValueExpression>
</parameter>
<parameter name="dateParam" class="java.util.Date">
<defaultValueExpression><![CDATA[new SimpleDateFormat("dd-MMM-yy", Locale.US).parse($P{dateAsString})]]></defaultValueExpression>
</parameter>
<title>
<band height="79" splitType="Stretch">
<textField pattern="dd-MM-yyyy">
<reportElement x="130" y="20" width="250" height="30"/>
<textFieldExpression><![CDATA[$P{dateParam}]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>
<variable name="S_DATE" class="java.util.Date" resetType="None">
<variableExpression><![CDATA[new SimpleDateFormat("dd-MMM-yy", Locale.US).parse($P{startdate})]]></variableExpression>
</variable>