Java JasperReports本地化

Java JasperReports本地化,java,jasper-reports,Java,Jasper Reports,我正在使用JasperReports,希望以不同的语言生成报告,但出现了一个问题 这是我的密码 public void initQueryReport()引发JRException,parsexception{ 试一试{ Map param=new HashMap(); 参数put(“日期”,日期2); fill1=JasperFillManager.fillReport( “E:\\jasper reports\\employees.jasper”,参数,连接); }捕获(例外e){ Syst

我正在使用JasperReports,希望以不同的语言生成报告,但出现了一个问题

这是我的密码

public void initQueryReport()引发JRException,parsexception{
试一试{
Map param=new HashMap();
参数put(“日期”,日期2);
fill1=JasperFillManager.fillReport(
“E:\\jasper reports\\employees.jasper”,参数,连接);
}捕获(例外e){
System.out.println();
}
}
服务响应;
HttpServletResponse;
public void PDFQuery(ActionEvent事件)引发JRException、IOException、ParseException{
试一试{
initQueryReport();
Responce=(ServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
respons=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
响应setContentType(“应用程序/pdf”);
响应setHeader(“内容处置”、“内联”);
响应setContentType(“应用程序/pdf”);
ServletOutputStream out=responce.getOutputStream();
JRPdfExporter pdf=新的JRPdfExporter();
pdf.setParameter(jreporterParameter.JASPER_PRINT,fill1);
setParameter(jreporterParameter.OUTPUT_STREAM,out);
pdf.exportReport();
}捕获(例外e){
e、 printStackTrace();
}
}
我创建了一个名为localizationdemo的属性文件。prperties包含我希望使用的语言的文本,我将此文件放在
src
文件夹中

运行应用程序并单击生成报告的链接时,出现以下异常:

net.sf.jasperreports.engine.JRException: No input source supplied to the exporter
注意:在调试模式下运行应用程序时,我有以下异常详细信息:

java.util.missingresourceexception can't find bundle for base name locale en_us

请帮我解决这个问题。还有很多

您使用的是Spring框架吗?如果您在spring.xml中使用ResourceBundleViewResolver,则可能是。您必须将路径本地化demo.properties放在as basename属性值中。查看spring.xml中的以下代码:

class="org.springframework.web.servlet.view.ResourceBundleViewResolver"

property name="basename" value="config/jasperreports-views" 

在我的例子中,我使用了spring 3.0

您确定您已经在.jrxml文件中设置了resource bundle属性,因为您似乎还没有在java文件中设置它

如果您使用的是Jaspersoft Studio:在Jaspersoft Studio中,单击大纲中的报告名称,然后从属性视图菜单中选择“报告”,并检查子菜单“数据集”下的资源包属性(本地化演示)是否已设置为相应的属性文件

您也可以在源代码视图中检查它,它应该是这样的:

<jasperReport /*****/ resourceBundle="localizationdemo" /****/>


更多信息:

您应该将属性文件放在类路径中尝试重命名文件名,例如localizationdemo_en.properties