有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用velocity模板打印JasperReports

我使用的是velocity脚本引擎,我有一个xml模板文件,它有一个报告打印格式。我从JTextarea获取输入并打印pdf

模板文件包含:

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

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

请帮忙。。 谢谢


共 (1) 个答案

  1. # 1 楼答案

    好吧。。。下面是答案

    用户用于循环

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

    这里printMessage()返回java。util。清单:

    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;
    }