1

iReportでスクリプトレットを使用する方法を学ぶのに苦労しています。スクリプトレットは、変数が alwaysであるiReportのプレビューを使用して、正常にビルドおよび実行されているようです。outputnull

heading見出しブロックにあり、テキストボックスの呼び出しoutputはdetail1にあります。

println がコンソールに表示されないことに気付きましたが、それは iReports の動作ではないと思います。

public class ScriptletTestsScriptlet extends JRDefaultScriptlet {

   public void beforeDetailEval() throws JRScriptletException {

      System.out.println("Running Scriptlet");
      String iGotMine = (String)this.getParameterValue("heading");
      this.setVariableValue("output",": Hello World");
   }
}

編集:これが呼び出し元のjrxmlです

<?xml version="1.0" encoding="UTF-8"?>
<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="ScriptletTests" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" scriptletClass="com.marinecyb.hilit2.nbm.gui.export.ScriptletTestsScriptlet" uuid="199482dd-2d7f-495b-b6cc-5d96d4fe4bf7">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<scriptlet name="scriptlet1" class="com.marinecyb.hilit2.nbm.gui.export.ScriptletTestsScriptlet"/>
<parameter name="heading" class="java.lang.String">
    <defaultValueExpression><![CDATA["Hello Computer"]]></defaultValueExpression>
</parameter>
<variable name="heading" class="java.lang.String"/>
<variable name="output" class="java.lang.String" calculation="System"/>
<pageHeader>
    <band height="53">
        <textField>
            <reportElement uuid="cfd000be-6ed7-4da0-a9f6-6a9965073238" x="0" y="0" width="306" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$P{heading}]]></textFieldExpression>
        </textField>
    </band>
</pageHeader>
<detail>
    <band height="125" splitType="Stretch">
        <textField>
            <reportElement uuid="9ed296b1-98ec-4960-97f5-c326ad57581c" x="35" y="44" width="100" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$V{output}]]></textFieldExpression>
        </textField>
    </band>
</detail>

4

0 に答える 0