カスタムオブジェクト値をJasperレポートに渡そうとしています。コンパイル済みのジャスパーを使用しています。つまり.jasper
ファイルです。カスタムクラスをJ2EEアプリケーションのパラメータ/フィールドとして使用する
jrxmlのパラメータにアクセスしようとしているjrxml
<parameter name="STUDENT_ID" class="abc.xyz.Student"/>
にパラメータを渡す
<textField>
<reportElement x="156" y="100" width="403" height="20" uuid="20cc6538-41d9-4fe5-ba43-e3152b073e10"/>
<textFieldExpression><![CDATA[": "+$P{STUDENT_ID}.getId()]]></textFieldExpression>
</textField>
構造:
jasper/
temp.jasper
WEB-INF/
classes/
lib/
web.xml
Serviceクラス
Student student = session.get("student")
HashMap<String, Object> map = new HashMap<String, Object>(1);
map.put("STUDENT_ID", student);
print = JasperFillManager.fillReport(ServletActionContext.getServletContext().getRealPath("/jasper/temp.jasper"), map, new JREmptyDataSource());
Student
クラスは学生によって異なりますが、Studentクラスのフィールドにはid
ととgetters and setters
がありますが、生成されたPDFファイルでは何らかの値がレンダリングされません。
Studentオブジェクトへのアクセス方法を教えてください。
パラメータで渡す 'Student'オブジェクトが' null'でない場合は、テンプレートデザインの問題がある可能性があります。問題を再現したサンプルJRXMLのサンプルを見ることなく、何が間違っているかはわかりません。 – Narcis
私はクラスパスなどがないと思います。 – piechuckerr