Jasper如何从资源包中检索值?

时间:2012-11-19 15:22:35

标签: java localization jasper-reports resourcebundle

我目前正在研究Jasper如何从资源包对象中检索值的自定义行为。据我所知,我可以传递资源包作为REPORT_RESOURCE_BUNDLE,报告中的$ R {SOME_TEXT}将被替换为资源包的值。

我想做的是做一个像下面这样工作的自定义getString()方法:

public String getString(){
    if (map.get("SOME_KEY_A")!=null){
        return map.get("SOME_KEY_A");
    }else{
        return map.get("SOME_KEY");
    }
}

SOME_KEY_A是一个特定值,如果未定义,bundle将返回与SOME_KEY关联的文本(默认值)。

我试图覆盖getString()或getObject(),但它们是最终的,我们无法覆盖它。 ResourceBundle的两个方法都在调用handleGetObject(),但是,将上述逻辑添加到此方法不会改变Jasper报告的行为。

任何人都知道Jasper将调用哪种方法来获取本地化文本?谢谢!

0 个答案:

没有答案