使用力度模板打印JasperReports

时间:2011-12-12 16:18:49

标签: java swing jasper-reports awt velocity

我正在使用速度脚本引擎,我有一个xml模板文件,其格式为应该如何打印报告。我从JTextarea获取输入并打印pdf。

模板文件包含:

      <line>
        <text align="left" length="15">Message:</text>
        <text>${report.printMessage()}</text>
      </line>

现在,如果文本框有多行,那么它就会在一行中打印。如果textarea有换行符,我希望它以不同的行打印。

请帮忙.. Thankx

1 个答案:

答案 0 :(得分:0)

好的......所以这就是答案..

用户循环..

     <line>
        <text align="left" length="25">Message:</text>
     </line>
      #foreach ($messageline in $report.printMessage())
        <line>
          <text>${messageline}</text>
        </line>
      #end

这里printMessage()返回java.util.List:

public List<String> printMessage() {
    String temp = message;
    String[] r = {};
    List<String> list = new ArrayList<String>();
    for (int i = 0; i < temp.length(); i++) {
        r = temp.split("\n");
    }
    list.addAll(Arrays.asList(r));
    return list;
}