2011-12-12 36 views
1

我正在使用velocity脚本引擎,我有一个xml模板文件,它具有如何打印报告的格式。我正在接受来自JTextarea的输入并打印PDF。使用速度模板打印JasperReports

模板文件有:

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

现在,如果在文本框中有多个行则在一个单一的线。我想在不同的线条打印,如果textarea的有一个新行打印..

请帮助.. Thankx

回答

0

好吧......所以这里就是答案..

用户的for循环..

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